Coverage Report

Created: 2025-09-03 01:29

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
59.4k
    {
87
59.4k
        return s - i;
88
59.4k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
56.7k
    {
87
56.7k
        return s - i;
88
56.7k
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
2.69k
    {
87
2.69k
        return s - i;
88
2.69k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v4::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
59.4k
    {
108
59.4k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
59.4k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
56.7k
    {
108
56.7k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
56.7k
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
2.69k
    {
108
2.69k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
2.69k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
107
22
    {
108
22
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
22
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
108k
    {
132
108k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
108k
        return t;
136
108k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
127k
    {
151
127k
        i += n;
152
127k
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
121k
    {
151
121k
        i += n;
152
121k
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
5.97k
    {
151
5.97k
        i += n;
152
5.97k
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
4.19k
    {
161
4.19k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
4.19k
        if (n > zero) {
164
132
            while (n-- > zero) {
165
66
                ++i;
166
66
            }
167
66
        }
168
4.12k
        else {
169
4.12k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
4.12k
        }
173
4.19k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
1.65k
    {
161
1.65k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.65k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.65k
        else {
169
1.65k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.65k
        }
173
1.65k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
66
    {
161
66
        constexpr auto zero = iter_difference_t<I>{0};
162
163
66
        if (n > zero) {
164
132
            while (n-- > zero) {
165
66
                ++i;
166
66
            }
167
66
        }
168
0
        else {
169
0
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
0
        }
173
66
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
2.47k
    {
161
2.47k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
2.47k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
2.47k
        else {
169
2.47k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
2.47k
        }
173
2.47k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
0
    {
181
0
        while (n-- > iter_difference_t<I>{0}) {
182
0
            ++i;
183
0
        }
184
0
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
1.95k
    {
190
1.95k
        i = std::move(bound);
191
1.95k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
1.01k
    {
190
1.01k
        i = std::move(bound);
191
1.01k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
942
    {
190
942
        i = std::move(bound);
191
942
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
252
    {
203
4.11k
        while (i != bound) {
204
3.86k
            ++i;
205
3.86k
        }
206
252
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
174
    {
203
2.74k
        while (i != bound) {
204
2.56k
            ++i;
205
2.56k
        }
206
174
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
78
    {
203
1.37k
        while (i != bound) {
204
1.29k
            ++i;
205
1.29k
        }
206
78
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
54.3k
    {
212
54.3k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
90
            auto dist = bound - i;
214
90
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
90
            return dist;
216
90
        }
217
54.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
54.2k
        return n;
219
54.3k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
54.3k
    {
212
54.3k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
90
            auto dist = bound - i;
214
90
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
90
            return dist;
216
90
        }
217
54.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
54.2k
        return n;
219
54.3k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
4.82k
    {
227
4.82k
        constexpr iter_difference_t<I> zero{0};
228
4.82k
        iter_difference_t<I> counter{0};
229
230
4.82k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
4.82k
        else {
237
16.7k
            while (n-- > zero && i != bound) {
238
11.9k
                ++i;
239
11.9k
                ++counter;
240
11.9k
            }
241
4.82k
        }
242
243
4.82k
        return counter;
244
4.82k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
3.91k
    {
227
3.91k
        constexpr iter_difference_t<I> zero{0};
228
3.91k
        iter_difference_t<I> counter{0};
229
230
3.91k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
3.91k
        else {
237
13.3k
            while (n-- > zero && i != bound) {
238
9.46k
                ++i;
239
9.46k
                ++counter;
240
9.46k
            }
241
3.91k
        }
242
243
3.91k
        return counter;
244
3.91k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
902
    {
227
902
        constexpr iter_difference_t<I> zero{0};
228
902
        iter_difference_t<I> counter{0};
229
230
902
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
902
        else {
237
3.34k
            while (n-- > zero && i != bound) {
238
2.44k
                ++i;
239
2.44k
                ++counter;
240
2.44k
            }
241
902
        }
242
243
902
        return counter;
244
902
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
0
    {
252
0
        constexpr iter_difference_t<I> zero{0};
253
0
        iter_difference_t<I> counter{0};
254
255
0
        while (n-- > zero && i != bound) {
256
0
            ++i;
257
0
            ++counter;
258
0
        }
259
260
0
        return counter;
261
0
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
77.0k
    {
268
77.0k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
77.0k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
66.8k
    {
268
66.8k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
66.8k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
5.97k
    {
268
5.97k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
5.97k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.65k
    {
268
1.65k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.65k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
267
66
    {
268
66
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
66
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
2.47k
    {
268
2.47k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
2.47k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
2.11k
    {
275
2.11k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
2.11k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
920
    {
275
920
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
920
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
174
    {
275
174
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
942
    {
275
942
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
942
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
78
    {
275
78
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
78
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
59.1k
    {
283
59.1k
        return n - fn::impl_i_n_s(i, n, bound);
284
59.1k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
3.91k
    {
283
3.91k
        return n - fn::impl_i_n_s(i, n, bound);
284
3.91k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
54.3k
    {
283
54.3k
        return n - fn::impl_i_n_s(i, n, bound);
284
54.3k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
902
    {
283
902
        return n - fn::impl_i_n_s(i, n, bound);
284
902
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
225M
    {
296
225M
        ++x;
297
225M
        return x;
298
225M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
2.70k
    {
296
2.70k
        ++x;
297
2.70k
        return x;
298
2.70k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
61.5k
    {
296
61.5k
        ++x;
297
61.5k
        return x;
298
61.5k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
1.55k
    {
296
1.55k
        ++x;
297
1.55k
        return x;
298
1.55k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
225M
    {
296
225M
        ++x;
297
225M
        return x;
298
225M
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
72.8k
    {
304
72.8k
        ranges::advance(x, n);
305
72.8k
        return x;
306
72.8k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
66.8k
    {
304
66.8k
        ranges::advance(x, n);
305
66.8k
        return x;
306
66.8k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
5.97k
    {
304
5.97k
        ranges::advance(x, n);
305
5.97k
        return x;
306
5.97k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
303
66
    {
304
66
        ranges::advance(x, n);
305
66
        return x;
306
66
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
2.11k
    {
313
2.11k
        ranges::advance(x, bound);
314
2.11k
        return x;
315
2.11k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
920
    {
313
920
        ranges::advance(x, bound);
314
920
        return x;
315
920
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
174
    {
313
174
        ranges::advance(x, bound);
314
174
        return x;
315
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
942
    {
313
942
        ranges::advance(x, bound);
314
942
        return x;
315
942
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
78
    {
313
78
        ranges::advance(x, bound);
314
78
        return x;
315
78
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
45.2k
{
458
45.2k
    return is_ascii_space_lookup[static_cast<size_t>(
459
45.2k
        static_cast<unsigned char>(ch))];
460
45.2k
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
309k
{
469
309k
    return static_cast<unsigned char>(ch) <= 127;
470
309k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
4.11k
{
474
4.11k
#if WCHAR_MIN < 0
475
4.11k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
4.11k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
345k
{
483
345k
    return cp <= 127;
484
345k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + n) - (word & ~0ull / 255 * 127)) & ~word &
532
0
             ((word & ~0ull / 255 * 127) + ~0ull / 255 * (127 - m))) &
533
0
            (~0ull / 255 * 128));
534
0
}
535
536
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
537
35.8k
{
538
35.8k
    SCN_GCC_PUSH
539
35.8k
    SCN_GCC_IGNORE("-Wsign-conversion")
540
35.8k
    return ((word + ~0ull / 255 * (127 - n)) | word) & ~0ull / 255 * 128;
541
35.8k
    SCN_GCC_POP
542
35.8k
}
543
544
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
545
0
{
546
0
    word ^= 0x8080808080808080ull;
547
0
    if (word == 0) {
548
0
        return 8;
549
0
    }
550
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
551
0
}
552
553
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
554
0
{
555
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
556
0
    auto input = word ^ pattern;
557
0
    auto tmp = (input & mask) + mask;
558
0
    tmp = ~(tmp | input | mask);
559
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
560
0
}
561
562
constexpr uint32_t log2_fast(uint32_t val)
563
0
{
564
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
565
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
566
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
567
0
568
0
    val |= val >> 1;
569
0
    val |= val >> 2;
570
0
    val |= val >> 4;
571
0
    val |= val >> 8;
572
0
    val |= val >> 16;
573
0
574
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
575
0
}
576
577
constexpr uint32_t log2_pow2_fast(uint32_t val)
578
0
{
579
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
580
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
581
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
582
0
583
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
584
0
}
585
586
constexpr uint64_t byteswap(uint64_t val)
587
0
{
588
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
589
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
590
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
591
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
592
0
}
593
594
/////////////////////////////////////////////////////////////////
595
// <function_ref>
596
/////////////////////////////////////////////////////////////////
597
598
namespace fnref_detail {
599
template <class T>
600
inline constexpr auto select_param_type = [] {
601
    if constexpr (std::is_trivially_copyable_v<T>) {
602
        return detail::type_identity<T>();
603
    }
604
    else {
605
        return std::add_rvalue_reference<T>();
606
    }
607
};
608
609
template <class T>
610
using param_t =
611
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
612
613
template <typename Sig>
614
struct qual_fn_sig;
615
616
template <typename R, typename... Args>
617
struct qual_fn_sig<R(Args...)> {
618
    using function = R(Args...);
619
620
    static constexpr bool is_noexcept = false;
621
622
    template <typename... T>
623
    static constexpr bool is_invocable_using =
624
        std::is_invocable_r_v<R, T..., Args...>;
625
626
    template <typename T>
627
    using cv = T;
628
};
629
630
template <typename R, typename... Args>
631
struct qual_fn_sig<R(Args...) noexcept> {
632
    using function = R(Args...);
633
634
    static constexpr bool is_noexcept = true;
635
636
    template <typename... T>
637
    static constexpr bool is_invocable_using =
638
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
639
640
    template <typename T>
641
    using cv = T;
642
};
643
644
template <typename R, typename... Args>
645
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
646
    template <typename T>
647
    using cv = T const;
648
};
649
650
template <typename R, typename... Args>
651
struct qual_fn_sig<R(Args...) const noexcept>
652
    : qual_fn_sig<R(Args...) noexcept> {
653
    template <typename T>
654
    using cv = T const;
655
};
656
657
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
658
SCN_CLANG_PUSH
659
SCN_CLANG_IGNORE("-Wcast-function-type-strict")
660
#endif
661
struct base {
662
    union storage {
663
        constexpr storage() = default;
664
665
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
666
330k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
330k
        {
668
330k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbcES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
2.83k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.83k
        {
668
2.83k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbDiES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
136k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
136k
        {
668
136k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
42.0k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
42.0k
        {
668
42.0k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
1.11k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.11k
        {
668
1.11k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
606
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
606
        {
668
606
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
8
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
8
        {
668
8
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
382
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
382
        {
668
382
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
22
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
22
        {
668
22
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
12
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
12
        {
668
12
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
378
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
378
        {
668
378
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
6
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
6
        {
668
6
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
302
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
302
        {
668
302
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
1.04k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.04k
        {
668
1.04k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbwES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
3.00k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
3.00k
        {
668
3.00k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
3.40k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
3.40k
        {
668
3.40k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
60.6k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
60.6k
        {
668
60.6k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
586
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
586
        {
668
586
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
460
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
460
        {
668
460
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
67.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
67.7k
        {
668
67.7k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
26
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
26
        {
668
26
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
206
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
206
        {
668
206
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
24
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
24
        {
668
24
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
194
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
194
        {
668
194
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
436
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
436
        {
668
436
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
522
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
522
        {
668
522
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
2.70k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.70k
        {
668
2.70k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
74
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
74
        {
668
74
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
634
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
634
        {
668
634
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
2.47k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.47k
        {
668
2.47k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
510
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
510
        {
668
510
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
1.38k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.38k
        {
668
1.38k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
669
670
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
671
7.75k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
7.75k
        {
673
7.75k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
488
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
488
        {
673
488
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
462
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
462
        {
673
462
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
384
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
384
        {
673
384
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
2.61k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
2.61k
        {
673
2.61k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
210
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
210
        {
673
210
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
1.41k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
1.41k
        {
673
1.41k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
348
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
348
        {
673
348
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
204
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
204
        {
673
204
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
402
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
402
        {
673
402
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
192
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
192
        {
673
192
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
492
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
492
        {
673
492
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
550
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
550
        {
673
550
        }
674
675
        template <typename F,
676
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
677
        constexpr explicit storage(F* f) noexcept
678
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
679
        {
680
        }
681
682
        void* m_p{nullptr};
683
        const void* m_cp;
684
        void (*m_fp)();
685
    };
686
687
    template <typename T>
688
    static constexpr auto get(storage s)
689
1.23M
    {
690
1.23M
        if constexpr (std::is_const_v<T>) {
691
364k
            return static_cast<T*>(s.m_cp);
692
        }
693
868k
        else if constexpr (std::is_object_v<T>) {
694
868k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.23M
    }
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char), bool (char)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
7.31k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
7.31k
        else if constexpr (std::is_object_v<T>) {
694
7.31k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.31k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
537k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
537k
        else if constexpr (std::is_object_v<T>) {
694
537k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
537k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
50.2k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
50.2k
        else if constexpr (std::is_object_v<T>) {
694
50.2k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
50.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
1.11k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.11k
        else if constexpr (std::is_object_v<T>) {
694
1.11k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.11k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
906
    {
690
906
        if constexpr (std::is_const_v<T>) {
691
906
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
906
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.91k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.91k
        else if constexpr (std::is_object_v<T>) {
694
1.91k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.91k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
8
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8
        else if constexpr (std::is_object_v<T>) {
694
8
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
382
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
382
        else if constexpr (std::is_object_v<T>) {
694
382
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
382
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
22
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
22
        else if constexpr (std::is_object_v<T>) {
694
22
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
12
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
12
        else if constexpr (std::is_object_v<T>) {
694
12
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
12
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
378
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
378
        else if constexpr (std::is_object_v<T>) {
694
378
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
378
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
6
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6
        else if constexpr (std::is_object_v<T>) {
694
6
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
302
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
302
        else if constexpr (std::is_object_v<T>) {
694
302
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
302
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
14.2k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
14.2k
        else if constexpr (std::is_object_v<T>) {
694
14.2k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
14.2k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
10.4k
    {
690
10.4k
        if constexpr (std::is_const_v<T>) {
691
10.4k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
10.4k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
7.29k
    {
690
7.29k
        if constexpr (std::is_const_v<T>) {
691
7.29k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.29k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
325k
    {
690
325k
        if constexpr (std::is_const_v<T>) {
691
325k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
325k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
3.13k
    {
690
3.13k
        if constexpr (std::is_const_v<T>) {
691
3.13k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.13k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
6.90k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6.90k
        else if constexpr (std::is_object_v<T>) {
694
6.90k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6.90k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
8.70k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8.70k
        else if constexpr (std::is_object_v<T>) {
694
8.70k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8.70k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
63.8k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
63.8k
        else if constexpr (std::is_object_v<T>) {
694
63.8k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
63.8k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
610
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
610
        else if constexpr (std::is_object_v<T>) {
694
610
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
610
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
2.30k
    {
690
2.30k
        if constexpr (std::is_const_v<T>) {
691
2.30k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
2.30k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
872
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
872
        else if constexpr (std::is_object_v<T>) {
694
872
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
872
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
130k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
130k
        else if constexpr (std::is_object_v<T>) {
694
130k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
130k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
210
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
210
        else if constexpr (std::is_object_v<T>) {
694
210
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
210
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
194
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
194
        else if constexpr (std::is_object_v<T>) {
694
194
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
194
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
436
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
436
        else if constexpr (std::is_object_v<T>) {
694
436
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
436
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
8.85k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8.85k
        else if constexpr (std::is_object_v<T>) {
694
8.85k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8.85k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
4.55k
    {
690
4.55k
        if constexpr (std::is_const_v<T>) {
691
4.55k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
4.55k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
1.95k
    {
690
1.95k
        if constexpr (std::is_const_v<T>) {
691
1.95k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.95k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
25.0k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
25.0k
        else if constexpr (std::is_object_v<T>) {
694
25.0k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
25.0k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
4.98k
    {
690
4.98k
        if constexpr (std::is_const_v<T>) {
691
4.98k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
4.98k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
2.16k
    {
690
2.16k
        if constexpr (std::is_const_v<T>) {
691
2.16k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
2.16k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.84k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.84k
        else if constexpr (std::is_object_v<T>) {
694
1.84k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.84k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
634
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
634
        else if constexpr (std::is_object_v<T>) {
694
634
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
634
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
708
    {
690
708
        if constexpr (std::is_const_v<T>) {
691
708
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
708
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
3.66k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
3.66k
        else if constexpr (std::is_object_v<T>) {
694
3.66k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.66k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
510
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
510
        else if constexpr (std::is_object_v<T>) {
694
510
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
510
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
814
    {
690
814
        if constexpr (std::is_const_v<T>) {
691
814
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
814
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.86k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.86k
        else if constexpr (std::is_object_v<T>) {
694
1.86k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.86k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
700
};
701
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
702
SCN_CLANG_POP  // -Wcast-function-type-strict
703
#endif
704
705
}  // namespace fnref_detail
706
707
template <typename Sig,
708
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
709
class function_ref;
710
711
template <typename Sig, typename R, typename... Args>
712
class function_ref<Sig, R(Args...)> : fnref_detail::base {
713
    using signature = fnref_detail::qual_fn_sig<Sig>;
714
715
    template <typename T>
716
    using cv = typename signature::template cv<T>;
717
    template <typename T>
718
    using cvref = cv<T>&;
719
    static constexpr bool noex = signature::is_noexcept;
720
721
    template <typename... T>
722
    static constexpr bool is_invocable_using =
723
        signature::template is_invocable_using<T...>;
724
725
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
726
727
public:
728
    template <typename F,
729
              std::enable_if_t<std::is_function_v<F> &&
730
                               is_invocable_using<F>>* = nullptr>
731
    /*implicit*/ function_ref(F* f) noexcept
732
        : m_fptr([](storage fn,
733
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
734
              if constexpr (std::is_void_v<R>) {
735
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
736
              }
737
              else {
738
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
739
              }
740
          }),
741
          m_storage(f)
742
    {
743
        SCN_EXPECT(f != nullptr);
744
    }
745
746
    template <typename F,
747
              typename T = std::remove_reference_t<F>,
748
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
749
                               !std::is_member_pointer_v<T> &&
750
                               is_invocable_using<cvref<T>>>* = nullptr>
751
    /*implicit*/ constexpr function_ref(F&& f) noexcept
752
338k
        : m_fptr([](storage fn,
753
1.23M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.23M
              cvref<T> obj = *get<T>(fn);
755
1.23M
              if constexpr (std::is_void_v<R>) {
756
58.9k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.17M
              else {
759
1.17M
                  return obj(static_cast<decltype(args)>(args)...);
760
1.17M
              }
761
1.23M
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEcE_clESK_c
Line
Count
Source
753
7.31k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.31k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.31k
              else {
759
7.31k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.31k
              }
761
7.31k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEDiE_clESK_Di
Line
Count
Source
753
537k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
537k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
537k
              else {
759
537k
                  return obj(static_cast<decltype(args)>(args)...);
760
537k
              }
761
537k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES19_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
50.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
50.2k
              cvref<T> obj = *get<T>(fn);
755
50.2k
              if constexpr (std::is_void_v<R>) {
756
50.2k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
50.2k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
753
1.11k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.11k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.11k
              else {
759
1.11k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.11k
              }
761
1.11k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
906
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
906
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
906
              else {
759
906
                  return obj(static_cast<decltype(args)>(args)...);
760
906
              }
761
906
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
1.91k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.91k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.91k
              else {
759
1.91k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.91k
              }
761
1.91k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES1D_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
382
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
382
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
382
              else {
759
382
                  return obj(static_cast<decltype(args)>(args)...);
760
382
              }
761
382
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
378
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
378
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
378
              else {
759
378
                  return obj(static_cast<decltype(args)>(args)...);
760
378
              }
761
378
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
302
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
302
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
302
              else {
759
302
                  return obj(static_cast<decltype(args)>(args)...);
760
302
              }
761
302
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
14.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
14.2k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
14.2k
              else {
759
14.2k
                  return obj(static_cast<decltype(args)>(args)...);
760
14.2k
              }
761
14.2k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
10.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
10.4k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
10.4k
              else {
759
10.4k
                  return obj(static_cast<decltype(args)>(args)...);
760
10.4k
              }
761
10.4k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
7.29k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.29k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.29k
              else {
759
7.29k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.29k
              }
761
7.29k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
325k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
325k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
325k
              else {
759
325k
                  return obj(static_cast<decltype(args)>(args)...);
760
325k
              }
761
325k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
3.13k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.13k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.13k
              else {
759
3.13k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.13k
              }
761
3.13k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbwES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEwE_clESK_w
Line
Count
Source
753
6.90k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6.90k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6.90k
              else {
759
6.90k
                  return obj(static_cast<decltype(args)>(args)...);
760
6.90k
              }
761
6.90k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES19_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
8.70k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8.70k
              cvref<T> obj = *get<T>(fn);
755
8.70k
              if constexpr (std::is_void_v<R>) {
756
8.70k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
8.70k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
63.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
63.8k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
63.8k
              else {
759
63.8k
                  return obj(static_cast<decltype(args)>(args)...);
760
63.8k
              }
761
63.8k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
753
610
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
610
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
610
              else {
759
610
                  return obj(static_cast<decltype(args)>(args)...);
760
610
              }
761
610
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
2.30k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.30k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
2.30k
              else {
759
2.30k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.30k
              }
761
2.30k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
872
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
872
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
872
              else {
759
872
                  return obj(static_cast<decltype(args)>(args)...);
760
872
              }
761
872
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
130k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
130k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
130k
              else {
759
130k
                  return obj(static_cast<decltype(args)>(args)...);
760
130k
              }
761
130k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES1D_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
210
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
210
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
210
              else {
759
210
                  return obj(static_cast<decltype(args)>(args)...);
760
210
              }
761
210
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
194
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
194
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
194
              else {
759
194
                  return obj(static_cast<decltype(args)>(args)...);
760
194
              }
761
194
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
436
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
436
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
436
              else {
759
436
                  return obj(static_cast<decltype(args)>(args)...);
760
436
              }
761
436
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
8.85k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8.85k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
8.85k
              else {
759
8.85k
                  return obj(static_cast<decltype(args)>(args)...);
760
8.85k
              }
761
8.85k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
4.55k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
4.55k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
4.55k
              else {
759
4.55k
                  return obj(static_cast<decltype(args)>(args)...);
760
4.55k
              }
761
4.55k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
1.95k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.95k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.95k
              else {
759
1.95k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.95k
              }
761
1.95k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
25.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
25.0k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
25.0k
              else {
759
25.0k
                  return obj(static_cast<decltype(args)>(args)...);
760
25.0k
              }
761
25.0k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
4.98k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
4.98k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
4.98k
              else {
759
4.98k
                  return obj(static_cast<decltype(args)>(args)...);
760
4.98k
              }
761
4.98k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
2.16k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.16k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
2.16k
              else {
759
2.16k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.16k
              }
761
2.16k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
1.84k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.84k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.84k
              else {
759
1.84k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.84k
              }
761
1.84k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
634
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
634
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
634
              else {
759
634
                  return obj(static_cast<decltype(args)>(args)...);
760
634
              }
761
634
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
708
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
708
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
708
              else {
759
708
                  return obj(static_cast<decltype(args)>(args)...);
760
708
              }
761
708
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
3.66k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.66k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.66k
              else {
759
3.66k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.66k
              }
761
3.66k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
510
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
510
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
510
              else {
759
510
                  return obj(static_cast<decltype(args)>(args)...);
760
510
              }
761
510
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
814
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
814
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
814
              else {
759
814
                  return obj(static_cast<decltype(args)>(args)...);
760
814
              }
761
814
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
1.86k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.86k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.86k
              else {
759
1.86k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.86k
              }
761
1.86k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
762
338k
          m_storage(std::addressof(f))
763
338k
    {
764
338k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
2.83k
        : m_fptr([](storage fn,
753
2.83k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.83k
              cvref<T> obj = *get<T>(fn);
755
2.83k
              if constexpr (std::is_void_v<R>) {
756
2.83k
                  obj(static_cast<decltype(args)>(args)...);
757
2.83k
              }
758
2.83k
              else {
759
2.83k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.83k
              }
761
2.83k
          }),
762
2.83k
          m_storage(std::addressof(f))
763
2.83k
    {
764
2.83k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
136k
        : m_fptr([](storage fn,
753
136k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
136k
              cvref<T> obj = *get<T>(fn);
755
136k
              if constexpr (std::is_void_v<R>) {
756
136k
                  obj(static_cast<decltype(args)>(args)...);
757
136k
              }
758
136k
              else {
759
136k
                  return obj(static_cast<decltype(args)>(args)...);
760
136k
              }
761
136k
          }),
762
136k
          m_storage(std::addressof(f))
763
136k
    {
764
136k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
42.0k
        : m_fptr([](storage fn,
753
42.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
42.0k
              cvref<T> obj = *get<T>(fn);
755
42.0k
              if constexpr (std::is_void_v<R>) {
756
42.0k
                  obj(static_cast<decltype(args)>(args)...);
757
42.0k
              }
758
42.0k
              else {
759
42.0k
                  return obj(static_cast<decltype(args)>(args)...);
760
42.0k
              }
761
42.0k
          }),
762
42.0k
          m_storage(std::addressof(f))
763
42.0k
    {
764
42.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
1.11k
        : m_fptr([](storage fn,
753
1.11k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.11k
              cvref<T> obj = *get<T>(fn);
755
1.11k
              if constexpr (std::is_void_v<R>) {
756
1.11k
                  obj(static_cast<decltype(args)>(args)...);
757
1.11k
              }
758
1.11k
              else {
759
1.11k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.11k
              }
761
1.11k
          }),
762
1.11k
          m_storage(std::addressof(f))
763
1.11k
    {
764
1.11k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
488
        : m_fptr([](storage fn,
753
488
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
488
              cvref<T> obj = *get<T>(fn);
755
488
              if constexpr (std::is_void_v<R>) {
756
488
                  obj(static_cast<decltype(args)>(args)...);
757
488
              }
758
488
              else {
759
488
                  return obj(static_cast<decltype(args)>(args)...);
760
488
              }
761
488
          }),
762
488
          m_storage(std::addressof(f))
763
488
    {
764
488
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
606
        : m_fptr([](storage fn,
753
606
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
606
              cvref<T> obj = *get<T>(fn);
755
606
              if constexpr (std::is_void_v<R>) {
756
606
                  obj(static_cast<decltype(args)>(args)...);
757
606
              }
758
606
              else {
759
606
                  return obj(static_cast<decltype(args)>(args)...);
760
606
              }
761
606
          }),
762
606
          m_storage(std::addressof(f))
763
606
    {
764
606
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
8
        : m_fptr([](storage fn,
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
8
              if constexpr (std::is_void_v<R>) {
756
8
                  obj(static_cast<decltype(args)>(args)...);
757
8
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
762
8
          m_storage(std::addressof(f))
763
8
    {
764
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
382
        : m_fptr([](storage fn,
753
382
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
382
              cvref<T> obj = *get<T>(fn);
755
382
              if constexpr (std::is_void_v<R>) {
756
382
                  obj(static_cast<decltype(args)>(args)...);
757
382
              }
758
382
              else {
759
382
                  return obj(static_cast<decltype(args)>(args)...);
760
382
              }
761
382
          }),
762
382
          m_storage(std::addressof(f))
763
382
    {
764
382
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
22
        : m_fptr([](storage fn,
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
22
              if constexpr (std::is_void_v<R>) {
756
22
                  obj(static_cast<decltype(args)>(args)...);
757
22
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
762
22
          m_storage(std::addressof(f))
763
22
    {
764
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
12
        : m_fptr([](storage fn,
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
12
              if constexpr (std::is_void_v<R>) {
756
12
                  obj(static_cast<decltype(args)>(args)...);
757
12
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
762
12
          m_storage(std::addressof(f))
763
12
    {
764
12
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
378
        : m_fptr([](storage fn,
753
378
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
378
              cvref<T> obj = *get<T>(fn);
755
378
              if constexpr (std::is_void_v<R>) {
756
378
                  obj(static_cast<decltype(args)>(args)...);
757
378
              }
758
378
              else {
759
378
                  return obj(static_cast<decltype(args)>(args)...);
760
378
              }
761
378
          }),
762
378
          m_storage(std::addressof(f))
763
378
    {
764
378
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
6
        : m_fptr([](storage fn,
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
6
              if constexpr (std::is_void_v<R>) {
756
6
                  obj(static_cast<decltype(args)>(args)...);
757
6
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
762
6
          m_storage(std::addressof(f))
763
6
    {
764
6
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
302
        : m_fptr([](storage fn,
753
302
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
302
              cvref<T> obj = *get<T>(fn);
755
302
              if constexpr (std::is_void_v<R>) {
756
302
                  obj(static_cast<decltype(args)>(args)...);
757
302
              }
758
302
              else {
759
302
                  return obj(static_cast<decltype(args)>(args)...);
760
302
              }
761
302
          }),
762
302
          m_storage(std::addressof(f))
763
302
    {
764
302
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
1.04k
        : m_fptr([](storage fn,
753
1.04k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.04k
              cvref<T> obj = *get<T>(fn);
755
1.04k
              if constexpr (std::is_void_v<R>) {
756
1.04k
                  obj(static_cast<decltype(args)>(args)...);
757
1.04k
              }
758
1.04k
              else {
759
1.04k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.04k
              }
761
1.04k
          }),
762
1.04k
          m_storage(std::addressof(f))
763
1.04k
    {
764
1.04k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
462
        : m_fptr([](storage fn,
753
462
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
462
              cvref<T> obj = *get<T>(fn);
755
462
              if constexpr (std::is_void_v<R>) {
756
462
                  obj(static_cast<decltype(args)>(args)...);
757
462
              }
758
462
              else {
759
462
                  return obj(static_cast<decltype(args)>(args)...);
760
462
              }
761
462
          }),
762
462
          m_storage(std::addressof(f))
763
462
    {
764
462
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
384
        : m_fptr([](storage fn,
753
384
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
384
              cvref<T> obj = *get<T>(fn);
755
384
              if constexpr (std::is_void_v<R>) {
756
384
                  obj(static_cast<decltype(args)>(args)...);
757
384
              }
758
384
              else {
759
384
                  return obj(static_cast<decltype(args)>(args)...);
760
384
              }
761
384
          }),
762
384
          m_storage(std::addressof(f))
763
384
    {
764
384
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.61k
        : m_fptr([](storage fn,
753
2.61k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.61k
              cvref<T> obj = *get<T>(fn);
755
2.61k
              if constexpr (std::is_void_v<R>) {
756
2.61k
                  obj(static_cast<decltype(args)>(args)...);
757
2.61k
              }
758
2.61k
              else {
759
2.61k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.61k
              }
761
2.61k
          }),
762
2.61k
          m_storage(std::addressof(f))
763
2.61k
    {
764
2.61k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
210
        : m_fptr([](storage fn,
753
210
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
210
              cvref<T> obj = *get<T>(fn);
755
210
              if constexpr (std::is_void_v<R>) {
756
210
                  obj(static_cast<decltype(args)>(args)...);
757
210
              }
758
210
              else {
759
210
                  return obj(static_cast<decltype(args)>(args)...);
760
210
              }
761
210
          }),
762
210
          m_storage(std::addressof(f))
763
210
    {
764
210
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
3.00k
        : m_fptr([](storage fn,
753
3.00k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.00k
              cvref<T> obj = *get<T>(fn);
755
3.00k
              if constexpr (std::is_void_v<R>) {
756
3.00k
                  obj(static_cast<decltype(args)>(args)...);
757
3.00k
              }
758
3.00k
              else {
759
3.00k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.00k
              }
761
3.00k
          }),
762
3.00k
          m_storage(std::addressof(f))
763
3.00k
    {
764
3.00k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
3.40k
        : m_fptr([](storage fn,
753
3.40k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.40k
              cvref<T> obj = *get<T>(fn);
755
3.40k
              if constexpr (std::is_void_v<R>) {
756
3.40k
                  obj(static_cast<decltype(args)>(args)...);
757
3.40k
              }
758
3.40k
              else {
759
3.40k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.40k
              }
761
3.40k
          }),
762
3.40k
          m_storage(std::addressof(f))
763
3.40k
    {
764
3.40k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
60.6k
        : m_fptr([](storage fn,
753
60.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
60.6k
              cvref<T> obj = *get<T>(fn);
755
60.6k
              if constexpr (std::is_void_v<R>) {
756
60.6k
                  obj(static_cast<decltype(args)>(args)...);
757
60.6k
              }
758
60.6k
              else {
759
60.6k
                  return obj(static_cast<decltype(args)>(args)...);
760
60.6k
              }
761
60.6k
          }),
762
60.6k
          m_storage(std::addressof(f))
763
60.6k
    {
764
60.6k
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
586
        : m_fptr([](storage fn,
753
586
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
586
              cvref<T> obj = *get<T>(fn);
755
586
              if constexpr (std::is_void_v<R>) {
756
586
                  obj(static_cast<decltype(args)>(args)...);
757
586
              }
758
586
              else {
759
586
                  return obj(static_cast<decltype(args)>(args)...);
760
586
              }
761
586
          }),
762
586
          m_storage(std::addressof(f))
763
586
    {
764
586
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
1.41k
        : m_fptr([](storage fn,
753
1.41k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.41k
              cvref<T> obj = *get<T>(fn);
755
1.41k
              if constexpr (std::is_void_v<R>) {
756
1.41k
                  obj(static_cast<decltype(args)>(args)...);
757
1.41k
              }
758
1.41k
              else {
759
1.41k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.41k
              }
761
1.41k
          }),
762
1.41k
          m_storage(std::addressof(f))
763
1.41k
    {
764
1.41k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
460
        : m_fptr([](storage fn,
753
460
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
460
              cvref<T> obj = *get<T>(fn);
755
460
              if constexpr (std::is_void_v<R>) {
756
460
                  obj(static_cast<decltype(args)>(args)...);
757
460
              }
758
460
              else {
759
460
                  return obj(static_cast<decltype(args)>(args)...);
760
460
              }
761
460
          }),
762
460
          m_storage(std::addressof(f))
763
460
    {
764
460
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
67.7k
        : m_fptr([](storage fn,
753
67.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
67.7k
              cvref<T> obj = *get<T>(fn);
755
67.7k
              if constexpr (std::is_void_v<R>) {
756
67.7k
                  obj(static_cast<decltype(args)>(args)...);
757
67.7k
              }
758
67.7k
              else {
759
67.7k
                  return obj(static_cast<decltype(args)>(args)...);
760
67.7k
              }
761
67.7k
          }),
762
67.7k
          m_storage(std::addressof(f))
763
67.7k
    {
764
67.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
26
        : m_fptr([](storage fn,
753
26
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
26
              cvref<T> obj = *get<T>(fn);
755
26
              if constexpr (std::is_void_v<R>) {
756
26
                  obj(static_cast<decltype(args)>(args)...);
757
26
              }
758
26
              else {
759
26
                  return obj(static_cast<decltype(args)>(args)...);
760
26
              }
761
26
          }),
762
26
          m_storage(std::addressof(f))
763
26
    {
764
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
206
        : m_fptr([](storage fn,
753
206
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
206
              cvref<T> obj = *get<T>(fn);
755
206
              if constexpr (std::is_void_v<R>) {
756
206
                  obj(static_cast<decltype(args)>(args)...);
757
206
              }
758
206
              else {
759
206
                  return obj(static_cast<decltype(args)>(args)...);
760
206
              }
761
206
          }),
762
206
          m_storage(std::addressof(f))
763
206
    {
764
206
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
24
        : m_fptr([](storage fn,
753
24
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
24
              cvref<T> obj = *get<T>(fn);
755
24
              if constexpr (std::is_void_v<R>) {
756
24
                  obj(static_cast<decltype(args)>(args)...);
757
24
              }
758
24
              else {
759
24
                  return obj(static_cast<decltype(args)>(args)...);
760
24
              }
761
24
          }),
762
24
          m_storage(std::addressof(f))
763
24
    {
764
24
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
194
        : m_fptr([](storage fn,
753
194
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
194
              cvref<T> obj = *get<T>(fn);
755
194
              if constexpr (std::is_void_v<R>) {
756
194
                  obj(static_cast<decltype(args)>(args)...);
757
194
              }
758
194
              else {
759
194
                  return obj(static_cast<decltype(args)>(args)...);
760
194
              }
761
194
          }),
762
194
          m_storage(std::addressof(f))
763
194
    {
764
194
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
436
        : m_fptr([](storage fn,
753
436
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
436
              cvref<T> obj = *get<T>(fn);
755
436
              if constexpr (std::is_void_v<R>) {
756
436
                  obj(static_cast<decltype(args)>(args)...);
757
436
              }
758
436
              else {
759
436
                  return obj(static_cast<decltype(args)>(args)...);
760
436
              }
761
436
          }),
762
436
          m_storage(std::addressof(f))
763
436
    {
764
436
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
522
        : m_fptr([](storage fn,
753
522
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
522
              cvref<T> obj = *get<T>(fn);
755
522
              if constexpr (std::is_void_v<R>) {
756
522
                  obj(static_cast<decltype(args)>(args)...);
757
522
              }
758
522
              else {
759
522
                  return obj(static_cast<decltype(args)>(args)...);
760
522
              }
761
522
          }),
762
522
          m_storage(std::addressof(f))
763
522
    {
764
522
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
348
        : m_fptr([](storage fn,
753
348
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
348
              cvref<T> obj = *get<T>(fn);
755
348
              if constexpr (std::is_void_v<R>) {
756
348
                  obj(static_cast<decltype(args)>(args)...);
757
348
              }
758
348
              else {
759
348
                  return obj(static_cast<decltype(args)>(args)...);
760
348
              }
761
348
          }),
762
348
          m_storage(std::addressof(f))
763
348
    {
764
348
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
204
        : m_fptr([](storage fn,
753
204
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
204
              cvref<T> obj = *get<T>(fn);
755
204
              if constexpr (std::is_void_v<R>) {
756
204
                  obj(static_cast<decltype(args)>(args)...);
757
204
              }
758
204
              else {
759
204
                  return obj(static_cast<decltype(args)>(args)...);
760
204
              }
761
204
          }),
762
204
          m_storage(std::addressof(f))
763
204
    {
764
204
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
2.70k
        : m_fptr([](storage fn,
753
2.70k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.70k
              cvref<T> obj = *get<T>(fn);
755
2.70k
              if constexpr (std::is_void_v<R>) {
756
2.70k
                  obj(static_cast<decltype(args)>(args)...);
757
2.70k
              }
758
2.70k
              else {
759
2.70k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.70k
              }
761
2.70k
          }),
762
2.70k
          m_storage(std::addressof(f))
763
2.70k
    {
764
2.70k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
402
        : m_fptr([](storage fn,
753
402
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
402
              cvref<T> obj = *get<T>(fn);
755
402
              if constexpr (std::is_void_v<R>) {
756
402
                  obj(static_cast<decltype(args)>(args)...);
757
402
              }
758
402
              else {
759
402
                  return obj(static_cast<decltype(args)>(args)...);
760
402
              }
761
402
          }),
762
402
          m_storage(std::addressof(f))
763
402
    {
764
402
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
192
        : m_fptr([](storage fn,
753
192
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
192
              cvref<T> obj = *get<T>(fn);
755
192
              if constexpr (std::is_void_v<R>) {
756
192
                  obj(static_cast<decltype(args)>(args)...);
757
192
              }
758
192
              else {
759
192
                  return obj(static_cast<decltype(args)>(args)...);
760
192
              }
761
192
          }),
762
192
          m_storage(std::addressof(f))
763
192
    {
764
192
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
74
        : m_fptr([](storage fn,
753
74
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
74
              cvref<T> obj = *get<T>(fn);
755
74
              if constexpr (std::is_void_v<R>) {
756
74
                  obj(static_cast<decltype(args)>(args)...);
757
74
              }
758
74
              else {
759
74
                  return obj(static_cast<decltype(args)>(args)...);
760
74
              }
761
74
          }),
762
74
          m_storage(std::addressof(f))
763
74
    {
764
74
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
634
        : m_fptr([](storage fn,
753
634
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
634
              cvref<T> obj = *get<T>(fn);
755
634
              if constexpr (std::is_void_v<R>) {
756
634
                  obj(static_cast<decltype(args)>(args)...);
757
634
              }
758
634
              else {
759
634
                  return obj(static_cast<decltype(args)>(args)...);
760
634
              }
761
634
          }),
762
634
          m_storage(std::addressof(f))
763
634
    {
764
634
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
492
        : m_fptr([](storage fn,
753
492
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
492
              cvref<T> obj = *get<T>(fn);
755
492
              if constexpr (std::is_void_v<R>) {
756
492
                  obj(static_cast<decltype(args)>(args)...);
757
492
              }
758
492
              else {
759
492
                  return obj(static_cast<decltype(args)>(args)...);
760
492
              }
761
492
          }),
762
492
          m_storage(std::addressof(f))
763
492
    {
764
492
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.47k
        : m_fptr([](storage fn,
753
2.47k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.47k
              cvref<T> obj = *get<T>(fn);
755
2.47k
              if constexpr (std::is_void_v<R>) {
756
2.47k
                  obj(static_cast<decltype(args)>(args)...);
757
2.47k
              }
758
2.47k
              else {
759
2.47k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.47k
              }
761
2.47k
          }),
762
2.47k
          m_storage(std::addressof(f))
763
2.47k
    {
764
2.47k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
510
        : m_fptr([](storage fn,
753
510
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
510
              cvref<T> obj = *get<T>(fn);
755
510
              if constexpr (std::is_void_v<R>) {
756
510
                  obj(static_cast<decltype(args)>(args)...);
757
510
              }
758
510
              else {
759
510
                  return obj(static_cast<decltype(args)>(args)...);
760
510
              }
761
510
          }),
762
510
          m_storage(std::addressof(f))
763
510
    {
764
510
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
550
        : m_fptr([](storage fn,
753
550
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
550
              cvref<T> obj = *get<T>(fn);
755
550
              if constexpr (std::is_void_v<R>) {
756
550
                  obj(static_cast<decltype(args)>(args)...);
757
550
              }
758
550
              else {
759
550
                  return obj(static_cast<decltype(args)>(args)...);
760
550
              }
761
550
          }),
762
550
          m_storage(std::addressof(f))
763
550
    {
764
550
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
1.38k
        : m_fptr([](storage fn,
753
1.38k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.38k
              cvref<T> obj = *get<T>(fn);
755
1.38k
              if constexpr (std::is_void_v<R>) {
756
1.38k
                  obj(static_cast<decltype(args)>(args)...);
757
1.38k
              }
758
1.38k
              else {
759
1.38k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.38k
              }
761
1.38k
          }),
762
1.38k
          m_storage(std::addressof(f))
763
1.38k
    {
764
1.38k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
765
766
    template <typename T,
767
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
768
                               !std::is_pointer_v<T>>* = nullptr>
769
    function_ref& operator=(T) = delete;
770
771
    constexpr R operator()(Args... args) const noexcept(noex)
772
1.23M
    {
773
1.23M
        return m_fptr(m_storage, SCN_FWD(args)...);
774
1.23M
    }
scn::v4::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
772
20.8k
    {
773
20.8k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
20.8k
    }
scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
1.13M
    {
773
1.13M
        return m_fptr(m_storage, SCN_FWD(args)...);
774
1.13M
    }
scn::v4::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
58.9k
    {
773
58.9k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
58.9k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
390
    {
773
390
        return m_fptr(m_storage, SCN_FWD(args)...);
774
390
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
942
    {
773
942
        return m_fptr(m_storage, SCN_FWD(args)...);
774
942
    }
scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
772
15.0k
    {
773
15.0k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
15.0k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
210
    {
773
210
        return m_fptr(m_storage, SCN_FWD(args)...);
774
210
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
962
    {
773
962
        return m_fptr(m_storage, SCN_FWD(args)...);
774
962
    }
775
776
private:
777
    fwd_t* m_fptr{nullptr};
778
    storage m_storage;
779
};
780
781
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
782
function_ref(F*) -> function_ref<F>;
783
}  // namespace impl
784
785
/////////////////////////////////////////////////////////////////
786
// Internal error types
787
/////////////////////////////////////////////////////////////////
788
789
namespace impl {
790
enum class eof_error { good, eof };
791
792
inline constexpr bool operator!(eof_error e)
793
50.6k
{
794
50.6k
    return e != eof_error::good;
795
50.6k
}
796
797
template <typename T>
798
struct eof_expected : public expected<T, eof_error> {
799
    using base = expected<T, eof_error>;
800
    using base::base;
801
802
    constexpr eof_expected(const base& other) : base(other) {}
803
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
804
};
805
806
inline constexpr auto make_eof_scan_error(eof_error err)
807
370
{
808
370
    SCN_EXPECT(err == eof_error::eof);
809
370
    return scan_error{scan_error::end_of_input, "EOF"};
810
370
}
811
812
struct SCN_TRIVIAL_ABI parse_error {
813
    enum code { good, eof, error };
814
    using code_t = code;
815
816
    constexpr parse_error() = default;
817
57.3k
    constexpr parse_error(code c) : m_code(c)
818
57.3k
    {
819
57.3k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
820
57.3k
    }
821
822
    constexpr explicit operator bool() const
823
0
    {
824
0
        return m_code == good;
825
0
    }
826
    constexpr explicit operator code_t() const
827
0
    {
828
0
        return m_code;
829
0
    }
830
831
    friend constexpr bool operator==(parse_error a, parse_error b)
832
24.2k
    {
833
24.2k
        return a.m_code == b.m_code;
834
24.2k
    }
835
    friend constexpr bool operator!=(parse_error a, parse_error b)
836
4.78k
    {
837
4.78k
        return !(a == b);
838
4.78k
    }
839
840
private:
841
    code m_code{good};
842
};
843
844
template <typename T>
845
struct parse_expected : public expected<T, parse_error> {
846
    using base = expected<T, parse_error>;
847
    using base::base;
848
849
    constexpr parse_expected(const base& other) : base(other) {}
850
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
851
};
852
853
inline constexpr parse_error make_eof_parse_error(eof_error err)
854
1.12k
{
855
1.12k
    SCN_EXPECT(err == eof_error::eof);
856
1.12k
    return parse_error::eof;
857
1.12k
}
858
859
inline constexpr scan_expected<void> make_scan_error_from_parse_error(
860
    parse_error err,
861
    enum scan_error::code code,
862
    const char* msg)
863
4.78k
{
864
4.78k
    if (err == parse_error::good) {
865
0
        return {};
866
0
    }
867
868
4.78k
    if (err == parse_error::eof) {
869
146
        return detail::unexpected_scan_error(scan_error::end_of_input, "EOF");
870
146
    }
871
872
4.63k
    return detail::unexpected_scan_error(code, msg);
873
4.78k
}
874
875
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
876
                                                    const char* msg)
877
4.82k
{
878
4.82k
    return [code, msg](parse_error err) {
879
4.78k
        assert(err != parse_error::good);
880
4.78k
        return make_scan_error_from_parse_error(err, code, msg).error();
881
4.78k
    };
882
4.82k
}
883
}  // namespace impl
884
885
namespace detail {
886
template <typename T>
887
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
888
}  // namespace detail
889
890
/////////////////////////////////////////////////////////////////
891
// Range reading support
892
/////////////////////////////////////////////////////////////////
893
894
namespace impl {
895
#if SCN_MSVC_DEBUG_ITERATORS
896
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
897
#else
898
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
899
#endif
900
901
template <typename T>
902
constexpr bool range_supports_nocopy() noexcept
903
{
904
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
905
    return ranges::contiguous_range<T> ||
906
           (ranges::random_access_range<T> &&
907
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
908
#else
909
    return ranges::contiguous_range<T>;
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_data(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return detail::to_address(ranges::begin(r));
919
#else
920
    return ranges::data(r);
921
#endif
922
}
923
924
template <typename R>
925
constexpr auto range_nocopy_size(const R& r) noexcept
926
{
927
    static_assert(range_supports_nocopy<R>());
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
930
                                                detail::to_address(r.end())));
931
#else
932
    return r.size();
933
#endif
934
}
935
936
template <typename I, typename S>
937
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
938
226M
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
226M
    {
948
226M
        return begin == end;
949
226M
    }
950
226M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
938
32.1k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
32.1k
    {
948
32.1k
        return begin == end;
949
32.1k
    }
950
32.1k
}
bool scn::v4::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
938
417k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
417k
    {
948
417k
        return begin == end;
949
417k
    }
950
417k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
938
226M
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
226M
    {
948
226M
        return begin == end;
949
226M
    }
950
226M
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
938
15.8k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
15.8k
    {
948
15.8k
        return begin == end;
949
15.8k
    }
950
15.8k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
938
6.14k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
6.14k
    {
948
6.14k
        return begin == end;
949
6.14k
    }
950
6.14k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
938
3.25k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
3.25k
    {
948
3.25k
        return begin == end;
949
3.25k
    }
950
3.25k
}
951
952
template <typename Range>
953
SCN_NODISCARD constexpr bool is_range_eof(Range r)
954
652k
{
955
652k
    return is_range_eof(r.begin(), r.end());
956
652k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
954
2.66k
{
955
2.66k
    return is_range_eof(r.begin(), r.end());
956
2.66k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
954
29.4k
{
955
29.4k
    return is_range_eof(r.begin(), r.end());
956
29.4k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
954
348k
{
955
348k
    return is_range_eof(r.begin(), r.end());
956
348k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
954
247k
{
955
247k
    return is_range_eof(r.begin(), r.end());
956
247k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
954
1.45k
{
955
1.45k
    return is_range_eof(r.begin(), r.end());
956
1.45k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
954
14.3k
{
955
14.3k
    return is_range_eof(r.begin(), r.end());
956
14.3k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
954
6.14k
{
955
6.14k
    return is_range_eof(r.begin(), r.end());
956
6.14k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
954
3.25k
{
955
3.25k
    return is_range_eof(r.begin(), r.end());
956
3.25k
}
957
958
template <typename Range>
959
SCN_NODISCARD constexpr eof_error eof_check(Range range)
960
50.6k
{
961
50.6k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
384
        return eof_error::eof;
963
384
    }
964
50.3k
    return eof_error::good;
965
50.6k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
960
2.66k
{
961
2.66k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
2.66k
    return eof_error::good;
965
2.66k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
960
40
{
961
40
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
40
    return eof_error::good;
965
40
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
960
21.9k
{
961
21.9k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
21.9k
    return eof_error::good;
965
21.9k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
960
20.6k
{
961
20.6k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
20.6k
    return eof_error::good;
965
20.6k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
960
1.45k
{
961
1.45k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
1.45k
    return eof_error::good;
965
1.45k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
960
110
{
961
110
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
14
        return eof_error::eof;
963
14
    }
964
96
    return eof_error::good;
965
110
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
960
2.47k
{
961
2.47k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
254
        return eof_error::eof;
963
254
    }
964
2.22k
    return eof_error::good;
965
2.47k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
960
1.38k
{
961
1.38k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
116
        return eof_error::eof;
963
116
    }
964
1.27k
    return eof_error::good;
965
1.38k
}
966
967
template <typename Range>
968
bool is_entire_source_contiguous(Range r)
969
1.32k
{
970
1.32k
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
468
                  ranges::sized_range<Range>) {
973
468
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
0
                               detail::char_t<Range>>::forward_iterator>) {
979
0
        auto beg = r.begin();
980
0
        if (!beg.stores_parent()) {
981
0
            return true;
982
0
        }
983
0
        return beg.parent()->is_contiguous();
984
    }
985
852
    else {
986
852
        return false;
987
852
    }
988
1.32k
}
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
969
852
{
970
852
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
                  ranges::sized_range<Range>) {
973
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
852
    else {
986
852
        return false;
987
852
    }
988
852
}
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
969
468
{
970
468
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
468
                  ranges::sized_range<Range>) {
973
468
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
    else {
986
        return false;
987
    }
988
468
}
989
990
template <typename Range>
991
bool is_segment_contiguous(Range r)
992
468
{
993
468
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
468
                  ranges::sized_range<Range>) {
997
468
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
0
                               detail::char_t<Range>>::forward_iterator>) {
1003
0
        auto beg = r.begin();
1004
0
        if (beg.contiguous_segment().empty()) {
1005
0
            return false;
1006
0
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
0
        else {
1012
0
            if (beg.stores_parent()) {
1013
0
                return beg.contiguous_segment().end() ==
1014
0
                       beg.parent()->current_view().end();
1015
0
            }
1016
0
            return true;
1017
0
        }
1018
    }
1019
0
    else {
1020
0
        return false;
1021
0
    }
1022
468
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
992
468
{
993
468
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
468
                  ranges::sized_range<Range>) {
997
468
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
                               detail::char_t<Range>>::forward_iterator>) {
1003
        auto beg = r.begin();
1004
        if (beg.contiguous_segment().empty()) {
1005
            return false;
1006
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
        else {
1012
            if (beg.stores_parent()) {
1013
                return beg.contiguous_segment().end() ==
1014
                       beg.parent()->current_view().end();
1015
            }
1016
            return true;
1017
        }
1018
    }
1019
    else {
1020
        return false;
1021
    }
1022
468
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1023
1024
template <typename Range>
1025
std::size_t contiguous_beginning_size(Range r)
1026
{
1027
    SCN_UNUSED(r);
1028
1029
    if constexpr (ranges::contiguous_range<Range> &&
1030
                  ranges::sized_range<Range>) {
1031
        return r.size();
1032
    }
1033
    else if constexpr (std::is_same_v<
1034
                           ranges::const_iterator_t<Range>,
1035
                           typename detail::basic_scan_buffer<
1036
                               detail::char_t<Range>>::forward_iterator>) {
1037
        if constexpr (ranges::common_range<Range>) {
1038
            auto seg = r.begin().contiguous_segment();
1039
            auto dist =
1040
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1041
            return std::min(seg.size(), dist);
1042
        }
1043
        else {
1044
            return r.begin().contiguous_segment().size();
1045
        }
1046
    }
1047
    else {
1048
        return false;
1049
    }
1050
}
1051
1052
template <typename Range>
1053
auto get_contiguous_beginning(Range r)
1054
4.12k
{
1055
4.12k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
0
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
0
        else {
1072
0
            return r.begin().contiguous_segment();
1073
0
        }
1074
    }
1075
4.12k
    else {
1076
4.12k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
4.12k
    }
1078
4.12k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1054
1.65k
{
1055
1.65k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
1.65k
    else {
1076
1.65k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
1.65k
    }
1078
1.65k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1054
2.47k
{
1055
2.47k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
2.47k
    else {
1076
2.47k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
2.47k
    }
1078
2.47k
}
1079
1080
template <typename Range>
1081
auto get_as_contiguous(Range r)
1082
468
{
1083
468
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
468
                  ranges::sized_range<Range>) {
1087
468
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
0
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
0
        else {
1099
0
            return r.begin().contiguous_segment();
1100
0
        }
1101
    }
1102
0
    else {
1103
0
        SCN_EXPECT(false);
1104
0
        SCN_UNREACHABLE;
1105
0
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
0
        return std::basic_string_view<detail::char_t<Range>>{};
1108
0
    }
1109
468
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1082
468
{
1083
468
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
468
                  ranges::sized_range<Range>) {
1087
468
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
        else {
1099
            return r.begin().contiguous_segment();
1100
        }
1101
    }
1102
    else {
1103
        SCN_EXPECT(false);
1104
        SCN_UNREACHABLE;
1105
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
        return std::basic_string_view<detail::char_t<Range>>{};
1108
    }
1109
468
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1110
1111
template <typename Range>
1112
std::size_t guaranteed_minimum_size(Range r)
1113
10.9k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
0
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
0
        else {
1125
0
            if (r.begin().stores_parent()) {
1126
0
                return static_cast<size_t>(
1127
0
                    r.begin().parent()->chars_available() -
1128
0
                    r.begin().position());
1129
0
            }
1130
0
            return r.begin().contiguous_segment().size();
1131
0
        }
1132
    }
1133
10.9k
    else {
1134
10.9k
        SCN_UNUSED(r);
1135
10.9k
        return 0;
1136
10.9k
    }
1137
10.9k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1113
7.26k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
7.26k
    else {
1134
7.26k
        SCN_UNUSED(r);
1135
7.26k
        return 0;
1136
7.26k
    }
1137
7.26k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1113
972
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
972
    else {
1134
972
        SCN_UNUSED(r);
1135
972
        return 0;
1136
972
    }
1137
972
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1113
1.30k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
1.30k
    else {
1134
1.30k
        SCN_UNUSED(r);
1135
1.30k
        return 0;
1136
1.30k
    }
1137
1.30k
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1113
928
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
928
    else {
1134
928
        SCN_UNUSED(r);
1135
928
        return 0;
1136
928
    }
1137
928
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1113
440
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
440
    else {
1134
440
        SCN_UNUSED(r);
1135
440
        return 0;
1136
440
    }
1137
440
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
1138
1139
template <typename I, typename T>
1140
struct iterator_value_result {
1141
    SCN_NO_UNIQUE_ADDRESS I iterator;
1142
    SCN_NO_UNIQUE_ADDRESS T value;
1143
};
1144
1145
}  // namespace impl
1146
1147
/////////////////////////////////////////////////////////////////
1148
// File support
1149
/////////////////////////////////////////////////////////////////
1150
1151
namespace detail {
1152
1153
template <typename FileInterface>
1154
basic_scan_file_buffer<FileInterface>::basic_scan_file_buffer(
1155
    FileInterface file)
1156
0
    : base(base::non_contiguous_tag{}), m_file(SCN_MOVE(file))
1157
0
{
1158
0
    m_file.lock();
1159
0
}
1160
1161
template <typename FileInterface>
1162
basic_scan_file_buffer<FileInterface>::~basic_scan_file_buffer()
1163
0
{
1164
0
    m_file.unlock();
1165
0
}
1166
1167
template <typename FileInterface>
1168
bool basic_scan_file_buffer<FileInterface>::fill()
1169
0
{
1170
0
    if (!this->m_current_view.empty()) {
1171
0
        this->m_putback_buffer.insert(this->m_putback_buffer.end(),
1172
0
                                      this->m_current_view.begin(),
1173
0
                                      this->m_current_view.end());
1174
0
    }
1175
1176
0
    if (m_file.has_buffering()) {
1177
0
        if (!this->m_current_view.empty()) {
1178
0
            m_file.unsafe_advance_n(
1179
0
                static_cast<std::ptrdiff_t>(this->m_current_view.size()));
1180
0
        }
1181
1182
0
        if (m_file.buffer().empty()) {
1183
0
            m_file.fill_buffer();
1184
0
        }
1185
0
        m_current_view = m_file.buffer();
1186
0
        return !this->m_current_view.empty();
1187
0
    }
1188
1189
0
    this->m_latest = m_file.read_one();
1190
0
    if (!this->m_latest) {
1191
0
        this->m_current_view = {};
1192
0
        return false;
1193
0
    }
1194
1195
0
    this->m_current_view = {&*this->m_latest, 1};
1196
0
    return true;
1197
0
}
1198
1199
template <typename FileInterface>
1200
bool basic_scan_file_buffer<FileInterface>::sync(std::ptrdiff_t position)
1201
0
{
1202
0
    struct putback_wrapper {
1203
0
        putback_wrapper(FileInterface& interface) : i(interface)
1204
0
        {
1205
0
            i.prepare_putback();
1206
0
        }
1207
0
        ~putback_wrapper()
1208
0
        {
1209
0
            i.finalize_putback();
1210
0
        }
1211
1212
0
        FileInterface& i;
1213
0
    };
1214
1215
0
    if (m_file.has_buffering()) {
1216
0
        if (position <
1217
0
            static_cast<std::ptrdiff_t>(this->putback_buffer().size())) {
1218
0
            putback_wrapper wrapper{m_file};
1219
0
            auto segment = this->get_segment_starting_at(position);
1220
0
            for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1221
0
                if (!m_file.putback(*it)) {
1222
0
                    return false;
1223
0
                }
1224
0
            }
1225
0
            return true;
1226
0
        }
1227
1228
0
        m_file.unsafe_advance_n(position - static_cast<std::ptrdiff_t>(
1229
0
                                               this->putback_buffer().size()));
1230
0
        return true;
1231
0
    }
1232
1233
0
    const auto chars_avail = this->chars_available();
1234
0
    if (position == chars_avail) {
1235
0
        return true;
1236
0
    }
1237
1238
0
    putback_wrapper wrapper{m_file};
1239
0
    SCN_EXPECT(m_current_view.size() == 1);
1240
0
    (void)m_file.putback(m_current_view.front());
1241
1242
0
    auto segment = std::string_view{this->putback_buffer().data(),
1243
0
                                    this->putback_buffer().size()}
1244
0
                       .substr(static_cast<std::size_t>(position));
1245
0
    for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1246
0
        if (!m_file.putback(*it)) {
1247
0
            return false;
1248
0
        }
1249
0
    }
1250
0
    return true;
1251
0
}
1252
1253
}  // namespace detail
1254
1255
/////////////////////////////////////////////////////////////////
1256
// Unicode
1257
/////////////////////////////////////////////////////////////////
1258
1259
namespace impl {
1260
1261
template <typename CharT>
1262
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1263
14.6k
{
1264
14.6k
    auto it = src.begin();
1265
560k
    while (it != src.end()) {
1266
548k
        const auto len = static_cast<std::ptrdiff_t>(
1267
548k
            detail::code_point_length_by_starting_code_unit(*it));
1268
548k
        SCN_EXPECT(len >= 0);
1269
548k
        if (len == 0) {
1270
1.32k
            return false;
1271
1.32k
        }
1272
547k
        if (std::distance(it, src.end()) < len) {
1273
234
            return false;
1274
234
        }
1275
547k
        const auto cp = detail::decode_code_point_exhaustive(
1276
547k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
547k
        if (cp >= detail::invalid_code_point) {
1278
1.61k
            return false;
1279
1.61k
        }
1280
545k
        it += len;
1281
545k
    }
1282
11.4k
    return true;
1283
14.6k
}
bool scn::v4::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1263
8.88k
{
1264
8.88k
    auto it = src.begin();
1265
505k
    while (it != src.end()) {
1266
498k
        const auto len = static_cast<std::ptrdiff_t>(
1267
498k
            detail::code_point_length_by_starting_code_unit(*it));
1268
498k
        SCN_EXPECT(len >= 0);
1269
498k
        if (len == 0) {
1270
1.32k
            return false;
1271
1.32k
        }
1272
496k
        if (std::distance(it, src.end()) < len) {
1273
234
            return false;
1274
234
        }
1275
496k
        const auto cp = detail::decode_code_point_exhaustive(
1276
496k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
496k
        if (cp >= detail::invalid_code_point) {
1278
504
            return false;
1279
504
        }
1280
496k
        it += len;
1281
496k
    }
1282
6.81k
    return true;
1283
8.88k
}
bool scn::v4::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1263
5.73k
{
1264
5.73k
    auto it = src.begin();
1265
55.0k
    while (it != src.end()) {
1266
50.4k
        const auto len = static_cast<std::ptrdiff_t>(
1267
50.4k
            detail::code_point_length_by_starting_code_unit(*it));
1268
50.4k
        SCN_EXPECT(len >= 0);
1269
50.4k
        if (len == 0) {
1270
0
            return false;
1271
0
        }
1272
50.4k
        if (std::distance(it, src.end()) < len) {
1273
0
            return false;
1274
0
        }
1275
50.4k
        const auto cp = detail::decode_code_point_exhaustive(
1276
50.4k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
50.4k
        if (cp >= detail::invalid_code_point) {
1278
1.11k
            return false;
1279
1.11k
        }
1280
49.2k
        it += len;
1281
49.2k
    }
1282
4.62k
    return true;
1283
5.73k
}
1284
1285
template <typename Range>
1286
constexpr auto get_start_for_next_code_point(Range input)
1287
    -> ranges::const_iterator_t<Range>
1288
10.9k
{
1289
10.9k
    auto it = input.begin();
1290
29.5k
    for (; it != input.end(); ++it) {
1291
27.9k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
9.31k
            break;
1293
9.31k
        }
1294
27.9k
    }
1295
10.9k
    return it;
1296
10.9k
}
_ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1288
6.93k
{
1289
6.93k
    auto it = input.begin();
1290
24.4k
    for (; it != input.end(); ++it) {
1291
23.0k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
5.53k
            break;
1293
5.53k
        }
1294
23.0k
    }
1295
6.93k
    return it;
1296
6.93k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1288
2.81k
{
1289
2.81k
    auto it = input.begin();
1290
3.40k
    for (; it != input.end(); ++it) {
1291
3.21k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
2.62k
            break;
1293
2.62k
        }
1294
3.21k
    }
1295
2.81k
    return it;
1296
2.81k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1288
1.21k
{
1289
1.21k
    auto it = input.begin();
1290
1.69k
    for (; it != input.end(); ++it) {
1291
1.63k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
1.15k
            break;
1293
1.15k
        }
1294
1.63k
    }
1295
1.21k
    return it;
1296
1.21k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1297
1298
template <typename CharT>
1299
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1300
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1301
                             char32_t>
1302
226M
{
1303
226M
    SCN_EXPECT(!input.empty());
1304
1305
226M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
226M
    if (SCN_UNLIKELY(len == 0)) {
1307
6.93k
        return {get_start_for_next_code_point(input),
1308
6.93k
                detail::invalid_code_point};
1309
6.93k
    }
1310
226M
    if (SCN_UNLIKELY(len > input.size())) {
1311
974
        return {input.end(), detail::invalid_code_point};
1312
974
    }
1313
1314
226M
    return {input.begin() + len,
1315
226M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
226M
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v4::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1302
335k
{
1303
335k
    SCN_EXPECT(!input.empty());
1304
1305
335k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
335k
    if (SCN_UNLIKELY(len == 0)) {
1307
6.93k
        return {get_start_for_next_code_point(input),
1308
6.93k
                detail::invalid_code_point};
1309
6.93k
    }
1310
328k
    if (SCN_UNLIKELY(len > input.size())) {
1311
974
        return {input.end(), detail::invalid_code_point};
1312
974
    }
1313
1314
327k
    return {input.begin() + len,
1315
327k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
328k
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v4::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1302
225M
{
1303
225M
    SCN_EXPECT(!input.empty());
1304
1305
225M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
225M
    if (SCN_UNLIKELY(len == 0)) {
1307
0
        return {get_start_for_next_code_point(input),
1308
0
                detail::invalid_code_point};
1309
0
    }
1310
225M
    if (SCN_UNLIKELY(len > input.size())) {
1311
0
        return {input.end(), detail::invalid_code_point};
1312
0
    }
1313
1314
225M
    return {input.begin() + len,
1315
225M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
225M
}
1317
1318
template <typename CharT>
1319
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1320
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1321
                             char32_t>
1322
120k
{
1323
120k
    SCN_EXPECT(!input.empty());
1324
1325
120k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1326
120k
    SCN_EXPECT(len <= input.size());
1327
1328
120k
    return {input.begin() + static_cast<std::ptrdiff_t>(len),
1329
120k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1330
120k
}
1331
1332
template <typename CharT>
1333
struct is_first_char_space_result {
1334
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1335
    char32_t cp;
1336
    bool is_space;
1337
};
1338
1339
template <typename CharT>
1340
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1341
    -> is_first_char_space_result<CharT>
1342
225M
{
1343
    // TODO: optimize
1344
225M
    SCN_EXPECT(!str.empty());
1345
225M
    auto res = get_next_code_point(str);
1346
225M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
225M
}
scn::v4::impl::is_first_char_space_result<char> scn::v4::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1342
67.7k
{
1343
    // TODO: optimize
1344
67.7k
    SCN_EXPECT(!str.empty());
1345
67.7k
    auto res = get_next_code_point(str);
1346
67.7k
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
67.7k
}
scn::v4::impl::is_first_char_space_result<wchar_t> scn::v4::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1342
225M
{
1343
    // TODO: optimize
1344
225M
    SCN_EXPECT(!str.empty());
1345
225M
    auto res = get_next_code_point(str);
1346
225M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
225M
}
1348
1349
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1350
    char32_t cp,
1351
    bool error_on_overflow)
1352
0
{
1353
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1354
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1355
0
        SCN_UNUSED(error_on_overflow);
1356
0
        return static_cast<wchar_t>(cp);
1357
    }
1358
    else {
1359
        if (cp < 0x10000) {
1360
            return static_cast<wchar_t>(cp);
1361
        }
1362
        if (error_on_overflow) {
1363
            return detail::unexpected_scan_error(
1364
                scan_error::value_positive_overflow,
1365
                "Non-BMP code point can't be "
1366
                "narrowed to a single 2-byte "
1367
                "wchar_t code unit");
1368
        }
1369
        // Return the lead surrogate
1370
        return static_cast<wchar_t>(
1371
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1372
    }
1373
0
}
1374
1375
template <typename SourceCharT, typename DestCharT>
1376
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1377
                                   std::basic_string<DestCharT>& dest)
1378
3.05k
{
1379
3.05k
    static_assert(sizeof(DestCharT) == 4);
1380
1381
3.05k
    auto it = src.begin();
1382
187k
    while (it != src.end()) {
1383
184k
        auto res = get_next_code_point(
1384
184k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1385
184k
                                                                 src.end()));
1386
184k
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1387
4.38k
            dest.push_back(DestCharT{0xfffd});
1388
4.38k
        }
1389
180k
        else {
1390
180k
            dest.push_back(static_cast<DestCharT>(res.value));
1391
180k
        }
1392
184k
        it = detail::make_string_view_iterator(src, res.iterator);
1393
184k
    }
1394
3.05k
}
1395
template <typename SourceCharT, typename DestCharT>
1396
void transcode_valid_to_string_impl_to32(
1397
    std::basic_string_view<SourceCharT> src,
1398
    std::basic_string<DestCharT>& dest)
1399
1.70k
{
1400
1.70k
    static_assert(sizeof(DestCharT) == 4);
1401
1402
1.70k
    auto it = src.begin();
1403
121k
    while (it != src.end()) {
1404
120k
        auto res = get_next_code_point_valid(
1405
120k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1406
120k
                                                                 src.end()));
1407
120k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1408
120k
        dest.push_back(static_cast<DestCharT>(res.value));
1409
120k
        it = detail::make_string_view_iterator(src, res.iterator);
1410
120k
    }
1411
1.70k
}
1412
1413
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1414
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1415
                                    std::basic_string<DestCharT>& dest)
1416
1.15k
{
1417
1.15k
    static_assert(sizeof(SourceCharT) == 4);
1418
1.15k
    static_assert(sizeof(DestCharT) == 1);
1419
1420
10.6k
    for (auto cp : src) {
1421
10.6k
        const auto u32cp = static_cast<uint32_t>(cp);
1422
10.6k
        if (SCN_UNLIKELY(!VerifiedValid && static_cast<char32_t>(cp) >=
1423
10.6k
                                               detail::invalid_code_point)) {
1424
            // Replacement character
1425
0
            dest.push_back(static_cast<char>(0xef));
1426
0
            dest.push_back(static_cast<char>(0xbf));
1427
0
            dest.push_back(static_cast<char>(0xbd));
1428
0
        }
1429
10.6k
        else if (cp < 128) {
1430
8.80k
            dest.push_back(static_cast<char>(cp));
1431
8.80k
        }
1432
1.80k
        else if (cp < 2048) {
1433
188
            dest.push_back(
1434
188
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1435
188
            dest.push_back(
1436
188
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1437
188
        }
1438
1.61k
        else if (cp < 65536) {
1439
1.07k
            dest.push_back(
1440
1.07k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1441
1.07k
            dest.push_back(static_cast<char>(
1442
1.07k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1443
1.07k
            dest.push_back(
1444
1.07k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1445
1.07k
        }
1446
540
        else {
1447
540
            dest.push_back(
1448
540
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1449
540
            dest.push_back(static_cast<char>(
1450
540
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1451
540
            dest.push_back(static_cast<char>(
1452
540
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1453
540
            dest.push_back(
1454
540
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1455
540
        }
1456
10.6k
    }
1457
1.15k
}
1458
1459
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1460
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1461
                                     std::basic_string<DestCharT>& dest)
1462
{
1463
    static_assert(sizeof(SourceCharT) == 4);
1464
    static_assert(sizeof(DestCharT) == 2);
1465
1466
    for (auto cp : src) {
1467
        const auto u32cp = static_cast<uint32_t>(cp);
1468
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1469
            dest.push_back(char16_t{0xfffd});
1470
        }
1471
        else if (cp < 0x10000) {
1472
            dest.push_back(static_cast<char16_t>(cp));
1473
        }
1474
        else {
1475
            dest.push_back(
1476
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1477
            dest.push_back(
1478
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1479
        }
1480
    }
1481
}
1482
1483
template <typename SourceCharT, typename DestCharT>
1484
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1485
                         std::basic_string<DestCharT>& dest)
1486
3.05k
{
1487
3.05k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1488
1489
3.05k
    if constexpr (sizeof(SourceCharT) == 1) {
1490
        if constexpr (sizeof(DestCharT) == 2) {
1491
            std::u32string tmp;
1492
            transcode_to_string_impl_to32(src, tmp);
1493
            return transcode_to_string_impl_32to16<false>(
1494
                std::u32string_view{tmp}, dest);
1495
        }
1496
3.05k
        else if constexpr (sizeof(DestCharT) == 4) {
1497
3.05k
            return transcode_to_string_impl_to32(src, dest);
1498
3.05k
        }
1499
    }
1500
    else if constexpr (sizeof(SourceCharT) == 2) {
1501
        if constexpr (sizeof(DestCharT) == 1) {
1502
            std::u32string tmp;
1503
            transcode_to_string_impl_to32(src, tmp);
1504
            return transcode_to_string_impl_32to8<false>(
1505
                std::u32string_view{tmp}, dest);
1506
        }
1507
        else if constexpr (sizeof(DestCharT) == 4) {
1508
            return trasncode_to_string_impl_to32(src, dest);
1509
        }
1510
    }
1511
    else if constexpr (sizeof(SourceCharT) == 4) {
1512
        if constexpr (sizeof(DestCharT) == 1) {
1513
            return transcode_to_string_impl_32to8<false>(src, dest);
1514
        }
1515
        else if constexpr (sizeof(DestCharT) == 2) {
1516
            return transcode_to_string_impl_32to16<false>(src, dest);
1517
        }
1518
    }
1519
1520
3.05k
    SCN_EXPECT(false);
1521
3.05k
    SCN_UNREACHABLE;
1522
3.05k
}
1523
template <typename SourceCharT, typename DestCharT>
1524
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1525
                               std::basic_string<DestCharT>& dest)
1526
2.86k
{
1527
2.86k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
2.86k
    SCN_EXPECT(validate_unicode(src));
1530
2.86k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.70k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.70k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.70k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
1.15k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
1.15k
        if constexpr (sizeof(DestCharT) == 1) {
1555
1.15k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
1.15k
    }
1561
1562
2.86k
    SCN_EXPECT(false);
1563
2.86k
    SCN_UNREACHABLE;
1564
2.86k
}
void scn::v4::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1526
1.70k
{
1527
1.70k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
1.70k
    SCN_EXPECT(validate_unicode(src));
1530
1.70k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.70k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.70k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.70k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
        if constexpr (sizeof(DestCharT) == 1) {
1555
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
    }
1561
1562
1.70k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
1.70k
}
void scn::v4::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1526
1.15k
{
1527
1.15k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
1.15k
    SCN_EXPECT(validate_unicode(src));
1530
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
        else if constexpr (sizeof(DestCharT) == 4) {
1539
            return transcode_valid_to_string_impl_to32(src, dest);
1540
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
1.15k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
1.15k
        if constexpr (sizeof(DestCharT) == 1) {
1555
1.15k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
1.15k
    }
1561
1562
1.15k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
1.15k
}
1565
1566
template <typename CharT>
1567
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1568
                                   function_ref<void(char32_t)> cb)
1569
45.4k
{
1570
    // TODO: Could be optimized by being eager
1571
45.4k
    auto it = input.begin();
1572
104k
    while (it != input.end()) {
1573
58.9k
        auto res = get_next_code_point(
1574
58.9k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
58.9k
        cb(res.value);
1576
58.9k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
58.9k
    }
1578
45.4k
}
void scn::v4::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
42.0k
{
1570
    // TODO: Could be optimized by being eager
1571
42.0k
    auto it = input.begin();
1572
92.3k
    while (it != input.end()) {
1573
50.2k
        auto res = get_next_code_point(
1574
50.2k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
50.2k
        cb(res.value);
1576
50.2k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
50.2k
    }
1578
42.0k
}
void scn::v4::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
3.40k
{
1570
    // TODO: Could be optimized by being eager
1571
3.40k
    auto it = input.begin();
1572
12.1k
    while (it != input.end()) {
1573
8.70k
        auto res = get_next_code_point(
1574
8.70k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
8.70k
        cb(res.value);
1576
8.70k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
8.70k
    }
1578
3.40k
}
1579
1580
template <typename CharT>
1581
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1582
                                         function_ref<void(char32_t)> cb)
1583
{
1584
    auto it = input.begin();
1585
    while (it != input.end()) {
1586
        auto res = get_next_code_point_valid(
1587
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1588
        cb(res.value);
1589
        it = detail::make_string_view_iterator(input, res.iterator);
1590
    }
1591
}
1592
1593
/////////////////////////////////////////////////////////////////
1594
// contiguous_range_factory
1595
/////////////////////////////////////////////////////////////////
1596
1597
template <typename View>
1598
class take_width_view;
1599
1600
template <typename CharT>
1601
struct string_view_wrapper {
1602
    using char_type = CharT;
1603
    using string_type = std::basic_string<CharT>;
1604
    using string_view_type = std::basic_string_view<CharT>;
1605
1606
    constexpr string_view_wrapper() = default;
1607
1608
    template <typename Range,
1609
              std::enable_if_t<ranges::borrowed_range<Range> &&
1610
                               ranges::contiguous_range<Range> &&
1611
                               ranges::sized_range<Range>>* = nullptr>
1612
51.7k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
51.7k
    {
1614
51.7k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2INS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
12.5k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
12.5k
    {
1614
12.5k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISF_Esr6rangesE11sized_rangeISF_EEvE4typeELPv0EEEOSF_
Line
Count
Source
1612
19.6k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
19.6k
    {
1614
19.6k
    }
_ZN3scn2v44impl19string_view_wrapperIwEC2INS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
9.95k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
9.95k
    {
1614
9.95k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNSt3__117basic_string_viewIcNS5_11char_traitsIcEEEETnPNS5_9enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISC_Esr6rangesE11sized_rangeISC_EEvE4typeELPv0EEEOSC_
Line
Count
Source
1612
9.67k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
9.67k
    {
1614
9.67k
    }
1615
1616
    template <typename Range,
1617
              std::enable_if_t<ranges::borrowed_range<Range> &&
1618
                               ranges::contiguous_range<Range> &&
1619
                               ranges::sized_range<Range>>* = nullptr>
1620
    void assign(Range&& r)
1621
    {
1622
        sv = string_view_type{ranges::data(r), r.size()};
1623
    }
1624
1625
    constexpr auto view() const
1626
85.3k
    {
1627
85.3k
        return sv;
1628
85.3k
    }
scn::v4::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1626
73.5k
    {
1627
73.5k
        return sv;
1628
73.5k
    }
scn::v4::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1626
11.7k
    {
1627
11.7k
        return sv;
1628
11.7k
    }
1629
1630
    constexpr bool stores_allocated_string() const
1631
0
    {
1632
0
        return false;
1633
0
    }
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1634
1635
    [[noreturn]] string_type get_allocated_string() const
1636
    {
1637
        SCN_EXPECT(false);
1638
        SCN_UNREACHABLE;
1639
    }
1640
1641
    string_view_type sv;
1642
};
1643
1644
template <typename Range>
1645
string_view_wrapper(Range)
1646
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1647
1648
template <typename CharT>
1649
class contiguous_range_factory {
1650
public:
1651
    using char_type = CharT;
1652
    using string_type = std::basic_string<CharT>;
1653
    using string_view_type = std::basic_string_view<CharT>;
1654
1655
5.00k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1655
2.66k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1655
2.34k
    contiguous_range_factory() = default;
1656
1657
    template <typename Range,
1658
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1659
    contiguous_range_factory(Range&& range)
1660
3.17k
    {
1661
3.17k
        emplace_range(SCN_FWD(range));
1662
3.17k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
2.30k
    {
1661
2.30k
        emplace_range(SCN_FWD(range));
1662
2.30k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
876
    {
1661
876
        emplace_range(SCN_FWD(range));
1662
876
    }
1663
1664
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1665
        : m_storage(std::nullopt), m_view(svw.view())
1666
    {
1667
    }
1668
1669
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1670
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1671
        delete;
1672
1673
    contiguous_range_factory(contiguous_range_factory&& other)
1674
        : m_storage(SCN_MOVE(other.m_storage))
1675
    {
1676
        if (m_storage) {
1677
            m_view = *m_storage;
1678
        }
1679
        else {
1680
            m_view = other.m_view;
1681
        }
1682
    }
1683
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1684
    {
1685
        m_storage = SCN_MOVE(other.m_storage);
1686
        if (m_storage) {
1687
            m_view = *m_storage;
1688
        }
1689
        else {
1690
            m_view = other.m_view;
1691
        }
1692
        return *this;
1693
    }
1694
1695
8.18k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1695
4.96k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1695
3.22k
    ~contiguous_range_factory() = default;
1696
1697
    template <typename Range,
1698
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1699
    void assign(Range&& range)
1700
1.95k
    {
1701
1.95k
        emplace_range(SCN_FWD(range));
1702
1.95k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
_ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
920
    {
1701
920
        emplace_range(SCN_FWD(range));
1702
920
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
Line
Count
Source
1700
20
    {
1701
20
        emplace_range(SCN_FWD(range));
1702
20
    }
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
944
    {
1701
944
        emplace_range(SCN_FWD(range));
1702
944
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINSt3__112basic_stringIwNS5_11char_traitsIwEENS5_9allocatorIwEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
Line
Count
Source
1700
74
    {
1701
74
        emplace_range(SCN_FWD(range));
1702
74
    }
1703
1704
    string_view_type view() const
1705
7.95k
    {
1706
7.95k
        return m_view;
1707
7.95k
    }
scn::v4::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1705
4.62k
    {
1706
4.62k
        return m_view;
1707
4.62k
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1705
3.33k
    {
1706
3.33k
        return m_view;
1707
3.33k
    }
1708
1709
    constexpr bool stores_allocated_string() const
1710
1.80k
    {
1711
1.80k
        return m_storage.has_value();
1712
1.80k
    }
scn::v4::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1710
964
    {
1711
964
        return m_storage.has_value();
1712
964
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1710
840
    {
1711
840
        return m_storage.has_value();
1712
840
    }
1713
1714
    string_type& get_allocated_string() &
1715
918
    {
1716
918
        SCN_EXPECT(stores_allocated_string());
1717
918
        return *m_storage;
1718
918
    }
scn::v4::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1715
482
    {
1716
482
        SCN_EXPECT(stores_allocated_string());
1717
482
        return *m_storage;
1718
482
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1715
436
    {
1716
436
        SCN_EXPECT(stores_allocated_string());
1717
436
        return *m_storage;
1718
436
    }
1719
    const string_type& get_allocated_string() const&
1720
    {
1721
        SCN_EXPECT(stores_allocated_string());
1722
        return *m_storage;
1723
    }
1724
    string_type&& get_allocated_string() &&
1725
    {
1726
        SCN_EXPECT(stores_allocated_string());
1727
        return *m_storage;
1728
    }
1729
1730
    string_type& make_into_allocated_string()
1731
0
    {
1732
0
        if (stores_allocated_string()) {
1733
0
            return get_allocated_string();
1734
0
        }
1735
1736
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1737
0
        m_view = string_view_type{str.data(), str.size()};
1738
0
        return str;
1739
0
    }
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1740
1741
private:
1742
    template <typename Range>
1743
    void emplace_range(Range&& range)
1744
5.13k
    {
1745
5.13k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
1.86k
                      ranges::sized_range<Range>) {
1750
1.86k
            m_storage.reset();
1751
1.86k
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
74
                                          std::basic_string<CharT>>) {
1755
74
            m_storage.emplace(SCN_FWD(range));
1756
74
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
0
                           ranges::common_range<Range>) {
1762
0
            auto beg_seg = range.begin().contiguous_segment();
1763
0
            auto end_seg = range.end().contiguous_segment();
1764
0
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
0
                             detail::to_address(end_seg.end()))) {
1766
0
                auto& str = m_storage.emplace();
1767
0
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
0
                                                     range.begin().position()));
1769
0
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
0
                m_view = string_view_type{str.data(), str.size()};
1771
0
                return;
1772
0
            }
1773
1774
0
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
0
                                                            end_seg.data());
1776
0
            m_storage.reset();
1777
        }
1778
3.19k
        else {
1779
3.19k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
3.19k
            if constexpr (ranges::common_range<Range>) {
1784
3.19k
                std::copy(ranges::begin(range), ranges::end(range),
1785
3.19k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
3.19k
            m_view = string_view_type{str.data(), str.size()};
1794
3.19k
        }
1795
5.13k
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1744
2.30k
    {
1745
2.30k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
2.30k
        else {
1779
2.30k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
2.30k
            if constexpr (ranges::common_range<Range>) {
1784
2.30k
                std::copy(ranges::begin(range), ranges::end(range),
1785
2.30k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
2.30k
            m_view = string_view_type{str.data(), str.size()};
1794
2.30k
        }
1795
2.30k
    }
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1744
920
    {
1745
920
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
920
                      ranges::sized_range<Range>) {
1750
920
            m_storage.reset();
1751
920
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
920
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1744
896
    {
1745
896
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
896
        else {
1779
896
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
896
            if constexpr (ranges::common_range<Range>) {
1784
896
                std::copy(ranges::begin(range), ranges::end(range),
1785
896
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
896
            m_view = string_view_type{str.data(), str.size()};
1794
896
        }
1795
896
    }
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1744
944
    {
1745
944
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
944
                      ranges::sized_range<Range>) {
1750
944
            m_storage.reset();
1751
944
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
944
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1744
74
    {
1745
74
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
74
                                          std::basic_string<CharT>>) {
1755
74
            m_storage.emplace(SCN_FWD(range));
1756
74
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
74
    }
1796
1797
    std::optional<string_type> m_storage{std::nullopt};
1798
    string_view_type m_view{};
1799
};
1800
1801
template <typename Range>
1802
contiguous_range_factory(Range)
1803
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1804
1805
template <typename Range>
1806
auto make_contiguous_buffer(Range&& range)
1807
54.9k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
51.7k
                  ranges::sized_range<Range>) {
1811
51.7k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
3.17k
    else {
1814
3.17k
        return contiguous_range_factory{SCN_FWD(range)};
1815
3.17k
    }
1816
54.9k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1807
2.30k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
2.30k
    else {
1814
2.30k
        return contiguous_range_factory{SCN_FWD(range)};
1815
2.30k
    }
1816
2.30k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1807
12.5k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
12.5k
                  ranges::sized_range<Range>) {
1811
12.5k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
12.5k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1807
19.6k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
19.6k
                  ranges::sized_range<Range>) {
1811
19.6k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
19.6k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1807
876
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
876
    else {
1814
876
        return contiguous_range_factory{SCN_FWD(range)};
1815
876
    }
1816
876
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1807
9.95k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
9.95k
                  ranges::sized_range<Range>) {
1811
9.95k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
9.95k
}
auto scn::v4::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1807
9.67k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
9.67k
                  ranges::sized_range<Range>) {
1811
9.67k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
9.67k
}
1817
}  // namespace impl
1818
1819
/////////////////////////////////////////////////////////////////
1820
// locale stuff
1821
/////////////////////////////////////////////////////////////////
1822
1823
#if !SCN_DISABLE_LOCALE
1824
1825
namespace detail {
1826
extern template locale_ref::locale_ref(const std::locale&);
1827
extern template auto locale_ref::get() const -> std::locale;
1828
}  // namespace detail
1829
1830
namespace impl {
1831
template <typename Facet>
1832
const Facet& get_facet(detail::locale_ref loc)
1833
{
1834
    auto stdloc = loc.get<std::locale>();
1835
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1836
    return std::use_facet<Facet>(stdloc);
1837
}
1838
1839
template <typename Facet>
1840
const Facet& get_or_add_facet(std::locale& stdloc)
1841
246
{
1842
246
    if (std::has_facet<Facet>(stdloc)) {
1843
246
        return std::use_facet<Facet>(stdloc);
1844
246
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
246
}
std::__1::numpunct<char> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1841
88
{
1842
88
    if (std::has_facet<Facet>(stdloc)) {
1843
88
        return std::use_facet<Facet>(stdloc);
1844
88
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
88
}
std::__1::numpunct<wchar_t> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1841
158
{
1842
158
    if (std::has_facet<Facet>(stdloc)) {
1843
158
        return std::use_facet<Facet>(stdloc);
1844
158
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
158
}
1848
1849
class clocale_restorer {
1850
public:
1851
94
    clocale_restorer(int cat) : m_category(cat)
1852
94
    {
1853
94
        const auto loc = std::setlocale(cat, nullptr);
1854
94
        std::strcpy(m_locbuf, loc);
1855
94
    }
1856
    ~clocale_restorer()
1857
94
    {
1858
        // Restore locale to what it was before
1859
94
        std::setlocale(m_category, m_locbuf);
1860
94
    }
1861
1862
    clocale_restorer(const clocale_restorer&) = delete;
1863
    clocale_restorer(clocale_restorer&&) = delete;
1864
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1865
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1866
1867
private:
1868
    // For whatever reason, this cannot be stored in the heap if
1869
    // setlocale hasn't been called before, or msan errors with
1870
    // 'use-of-unitialized-value' when resetting the locale
1871
    // back. POSIX specifies that the content of loc may not be
1872
    // static, so we need to save it ourselves
1873
    char m_locbuf[64] = {0};
1874
1875
    int m_category;
1876
};
1877
1878
class set_clocale_classic_guard {
1879
public:
1880
94
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1881
94
    {
1882
94
        std::setlocale(cat, "C");
1883
94
    }
1884
1885
private:
1886
    clocale_restorer m_restorer;
1887
};
1888
}  // namespace impl
1889
1890
namespace impl {
1891
struct classic_with_thsep_tag {};
1892
1893
template <typename CharT>
1894
struct localized_number_formatting_options {
1895
2.50k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1895
1.33k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1895
1.17k
    localized_number_formatting_options() = default;
1896
1897
    localized_number_formatting_options(classic_with_thsep_tag)
1898
0
    {
1899
0
        grouping = "\3";
1900
0
        thousands_sep = CharT{','};
1901
0
    }
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
1902
1903
    localized_number_formatting_options(detail::locale_ref loc)
1904
194
    {
1905
194
        auto stdloc = loc.get<std::locale>();
1906
194
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
194
        grouping = numpunct.grouping();
1908
194
        thousands_sep =
1909
194
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
194
        decimal_point = numpunct.decimal_point();
1911
194
    }
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
62
    {
1905
62
        auto stdloc = loc.get<std::locale>();
1906
62
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
62
        grouping = numpunct.grouping();
1908
62
        thousands_sep =
1909
62
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
62
        decimal_point = numpunct.decimal_point();
1911
62
    }
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
132
    {
1905
132
        auto stdloc = loc.get<std::locale>();
1906
132
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
132
        grouping = numpunct.grouping();
1908
132
        thousands_sep =
1909
132
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
132
        decimal_point = numpunct.decimal_point();
1911
132
    }
1912
1913
    std::string grouping{};
1914
    CharT thousands_sep{0};
1915
    CharT decimal_point{CharT{'.'}};
1916
};
1917
}  // namespace impl
1918
1919
#else
1920
1921
namespace impl {
1922
struct set_clocale_classic_guard {
1923
    set_clocale_classic_guard(int) {}
1924
};
1925
1926
struct classic_with_thsep_tag {};
1927
1928
template <typename CharT>
1929
struct localized_number_formatting_options {
1930
    localized_number_formatting_options() = default;
1931
1932
    localized_number_formatting_options(classic_with_thsep_tag)
1933
    {
1934
        grouping = "\3";
1935
        thousands_sep = CharT{','};
1936
    }
1937
1938
    std::string grouping{};
1939
    CharT thousands_sep{0};
1940
    CharT decimal_point{CharT{'.'}};
1941
};
1942
}  // namespace impl
1943
1944
#endif  // !SCN_DISABLE_LOCALE
1945
1946
/////////////////////////////////////////////////////////////////
1947
// Range reading algorithms
1948
/////////////////////////////////////////////////////////////////
1949
1950
namespace impl {
1951
1952
std::string_view::iterator find_classic_space_narrow_fast(
1953
    std::string_view source);
1954
1955
std::string_view::iterator find_classic_nonspace_narrow_fast(
1956
    std::string_view source);
1957
1958
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1959
    std::string_view source);
1960
1961
template <typename Range>
1962
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1963
2.11k
{
1964
2.11k
    return ranges::next(range.begin(), range.end());
1965
2.11k
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
920
{
1964
920
    return ranges::next(range.begin(), range.end());
1965
920
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
174
{
1964
174
    return ranges::next(range.begin(), range.end());
1965
174
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
942
{
1964
942
    return ranges::next(range.begin(), range.end());
1965
942
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
78
{
1964
78
    return ranges::next(range.begin(), range.end());
1965
78
}
1966
1967
template <typename Range>
1968
auto read_code_unit(Range range)
1969
    -> eof_expected<ranges::const_iterator_t<Range>>
1970
17.4k
{
1971
17.4k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
17.4k
    return ranges::next(range.begin());
1976
17.4k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
2.66k
{
1971
2.66k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
2.66k
    return ranges::next(range.begin());
1976
2.66k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
40
{
1971
40
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
40
    return ranges::next(range.begin());
1976
40
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
6.59k
{
1971
6.59k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
6.59k
    return ranges::next(range.begin());
1976
6.59k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
1.45k
{
1971
1.45k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
1.45k
    return ranges::next(range.begin());
1976
1.45k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
110
{
1971
110
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
96
    return ranges::next(range.begin());
1976
110
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
6.59k
{
1971
6.59k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
6.59k
    return ranges::next(range.begin());
1976
6.59k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
1977
1978
template <typename Range>
1979
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1980
    -> eof_expected<ranges::const_iterator_t<Range>>
1981
54.6k
{
1982
54.6k
    SCN_EXPECT(count >= 0);
1983
1984
54.6k
    if constexpr (ranges::sized_range<Range>) {
1985
43.7k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
43.7k
        if (sz < count) {
1987
718
            return unexpected(eof_error::eof);
1988
718
        }
1989
1990
43.0k
        return ranges::next(range.begin(), count);
1991
    }
1992
10.9k
    else {
1993
10.9k
        auto it = range.begin();
1994
10.9k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
41.5k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
31.7k
            if (it == range.end()) {
2000
1.02k
                return unexpected(eof_error::eof);
2001
1.02k
            }
2002
31.7k
        }
2003
2004
9.88k
        return it;
2005
10.9k
    }
2006
54.6k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
37.9k
{
1982
37.9k
    SCN_EXPECT(count >= 0);
1983
1984
37.9k
    if constexpr (ranges::sized_range<Range>) {
1985
37.9k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
37.9k
        if (sz < count) {
1987
530
            return unexpected(eof_error::eof);
1988
530
        }
1989
1990
37.4k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
37.9k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
7.26k
{
1982
7.26k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
7.26k
    else {
1993
7.26k
        auto it = range.begin();
1994
7.26k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
26.7k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
19.7k
            if (it == range.end()) {
2000
332
                return unexpected(eof_error::eof);
2001
332
            }
2002
19.7k
        }
2003
2004
6.93k
        return it;
2005
7.26k
    }
2006
7.26k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
5.74k
{
1982
5.74k
    SCN_EXPECT(count >= 0);
1983
1984
5.74k
    if constexpr (ranges::sized_range<Range>) {
1985
5.74k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
5.74k
        if (sz < count) {
1987
188
            return unexpected(eof_error::eof);
1988
188
        }
1989
1990
5.56k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
5.74k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
972
{
1982
972
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
972
    else {
1993
972
        auto it = range.begin();
1994
972
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
3.05k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
2.30k
            if (it == range.end()) {
2000
230
                return unexpected(eof_error::eof);
2001
230
            }
2002
2.30k
        }
2003
2004
742
        return it;
2005
972
    }
2006
972
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1981
1.30k
{
1982
1.30k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
1.30k
    else {
1993
1.30k
        auto it = range.begin();
1994
1.30k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
5.08k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.92k
            if (it == range.end()) {
2000
144
                return unexpected(eof_error::eof);
2001
144
            }
2002
3.92k
        }
2003
2004
1.16k
        return it;
2005
1.30k
    }
2006
1.30k
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
928
{
1982
928
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
928
    else {
1993
928
        auto it = range.begin();
1994
928
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
4.63k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.89k
            if (it == range.end()) {
2000
188
                return unexpected(eof_error::eof);
2001
188
            }
2002
3.89k
        }
2003
2004
740
        return it;
2005
928
    }
2006
928
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
440
{
1982
440
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
440
    else {
1993
440
        auto it = range.begin();
1994
440
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
2.09k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
1.77k
            if (it == range.end()) {
2000
128
                return unexpected(eof_error::eof);
2001
128
            }
2002
1.77k
        }
2003
2004
312
        return it;
2005
440
    }
2006
440
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
2007
2008
template <typename Iterator, typename CharT>
2009
struct read_code_point_into_result {
2010
    Iterator iterator;
2011
    std::basic_string<CharT> codepoint;
2012
2013
    bool is_valid() const
2014
602k
    {
2015
602k
        return !codepoint.empty();
2016
602k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
2014
29.4k
    {
2015
29.4k
        return !codepoint.empty();
2016
29.4k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
2014
326k
    {
2015
326k
        return !codepoint.empty();
2016
326k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
2014
14.2k
    {
2015
14.2k
        return !codepoint.empty();
2016
14.2k
    }
scn::v4::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
2014
226k
    {
2015
226k
        return !codepoint.empty();
2016
226k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
2014
3.66k
    {
2015
3.66k
        return !codepoint.empty();
2016
3.66k
    }
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
2014
1.86k
    {
2015
1.86k
        return !codepoint.empty();
2016
1.86k
    }
2017
};
2018
2019
template <typename Range>
2020
auto read_code_point_into(Range range)
2021
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
2022
                                   detail::char_t<Range>>
2023
602k
{
2024
602k
    SCN_EXPECT(!is_range_eof(range));
2025
602k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
602k
    auto it = range.begin();
2028
602k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
602k
    if (SCN_UNLIKELY(len == 0)) {
2031
4.02k
        ++it;
2032
4.02k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
4.02k
        return {it, {}};
2034
4.02k
    }
2035
2036
598k
    if (len == 1) {
2037
538k
        ++it;
2038
538k
        return {it, string_type(1, *range.begin())};
2039
538k
    }
2040
2041
59.1k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
59.1k
    return {it, string_type{range.begin(), it}};
2043
598k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
29.4k
{
2024
29.4k
    SCN_EXPECT(!is_range_eof(range));
2025
29.4k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
29.4k
    auto it = range.begin();
2028
29.4k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
29.4k
    if (SCN_UNLIKELY(len == 0)) {
2031
2.81k
        ++it;
2032
2.81k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
2.81k
        return {it, {}};
2034
2.81k
    }
2035
2036
26.6k
    if (len == 1) {
2037
22.6k
        ++it;
2038
22.6k
        return {it, string_type(1, *range.begin())};
2039
22.6k
    }
2040
2041
3.91k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
3.91k
    return {it, string_type{range.begin(), it}};
2043
26.6k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
326k
{
2024
326k
    SCN_EXPECT(!is_range_eof(range));
2025
326k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
326k
    auto it = range.begin();
2028
326k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
326k
    if (SCN_UNLIKELY(len == 0)) {
2031
1.21k
        ++it;
2032
1.21k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
1.21k
        return {it, {}};
2034
1.21k
    }
2035
2036
325k
    if (len == 1) {
2037
270k
        ++it;
2038
270k
        return {it, string_type(1, *range.begin())};
2039
270k
    }
2040
2041
54.3k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
54.3k
    return {it, string_type{range.begin(), it}};
2043
325k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
226k
{
2024
226k
    SCN_EXPECT(!is_range_eof(range));
2025
226k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
226k
    auto it = range.begin();
2028
226k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
226k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
226k
    if (len == 1) {
2037
226k
        ++it;
2038
226k
        return {it, string_type(1, *range.begin())};
2039
226k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
226k
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
14.2k
{
2024
14.2k
    SCN_EXPECT(!is_range_eof(range));
2025
14.2k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
14.2k
    auto it = range.begin();
2028
14.2k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
14.2k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
14.2k
    if (len == 1) {
2037
14.2k
        ++it;
2038
14.2k
        return {it, string_type(1, *range.begin())};
2039
14.2k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
14.2k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
3.66k
{
2024
3.66k
    SCN_EXPECT(!is_range_eof(range));
2025
3.66k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
3.66k
    auto it = range.begin();
2028
3.66k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
3.66k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
3.66k
    if (len == 1) {
2037
2.76k
        ++it;
2038
2.76k
        return {it, string_type(1, *range.begin())};
2039
2.76k
    }
2040
2041
902
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
902
    return {it, string_type{range.begin(), it}};
2043
3.66k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
1.86k
{
2024
1.86k
    SCN_EXPECT(!is_range_eof(range));
2025
1.86k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
1.86k
    auto it = range.begin();
2028
1.86k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
1.86k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
1.86k
    if (len == 1) {
2037
1.86k
        ++it;
2038
1.86k
        return {it, string_type(1, *range.begin())};
2039
1.86k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
1.86k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
2044
2045
template <typename Range>
2046
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
2047
{
2048
    return read_code_point_into(range).iterator;
2049
}
2050
2051
template <typename Range>
2052
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
2053
    -> eof_expected<ranges::const_iterator_t<Range>>
2054
{
2055
    SCN_EXPECT(count >= 0);
2056
2057
    if (count > 0) {
2058
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
2059
            return unexpected(e);
2060
        }
2061
    }
2062
2063
    auto it = range.begin();
2064
    for (std::ptrdiff_t i = 0; i < count; ++i) {
2065
        auto rng = ranges::subrange{it, range.end()};
2066
2067
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
2068
            return unexpected(e);
2069
        }
2070
2071
        it = read_code_point(rng);
2072
    }
2073
2074
    return it;
2075
}
2076
2077
template <typename Range>
2078
auto read_until_code_unit(Range range,
2079
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2080
    -> ranges::const_iterator_t<Range>
2081
426
{
2082
426
    if constexpr (ranges::common_range<Range>) {
2083
162
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
264
    else {
2086
264
        auto first = range.begin();
2087
6.59k
        for (; first != range.end(); ++first) {
2088
6.34k
            if (*first == cu) {
2089
12
                return first;
2090
12
            }
2091
6.34k
        }
2092
252
        return first;
2093
264
    }
2094
426
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
144
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
144
    else {
2086
144
        auto first = range.begin();
2087
2.89k
        for (; first != range.end(); ++first) {
2088
2.75k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
2.75k
        }
2092
138
        return first;
2093
144
    }
2094
144
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
66
{
2082
66
    if constexpr (ranges::common_range<Range>) {
2083
66
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
66
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
120
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
120
    else {
2086
120
        auto first = range.begin();
2087
3.70k
        for (; first != range.end(); ++first) {
2088
3.58k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
3.58k
        }
2092
114
        return first;
2093
120
    }
2094
120
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
96
{
2082
96
    if constexpr (ranges::common_range<Range>) {
2083
96
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
96
}
2095
2096
template <typename Range>
2097
auto read_until_code_unit(Range range,
2098
                          function_ref<bool(detail::char_t<Range>)> pred)
2099
    -> ranges::const_iterator_t<Range>
2100
6.29k
{
2101
6.29k
    if constexpr (ranges::common_range<Range>) {
2102
2.04k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
4.25k
    else {
2105
4.25k
        auto first = range.begin();
2106
14.2k
        for (; first != range.end(); ++first) {
2107
13.7k
            if (pred(*first)) {
2108
3.80k
                return first;
2109
3.80k
            }
2110
13.7k
        }
2111
446
        return first;
2112
4.25k
    }
2113
6.29k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
1.50k
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
1.50k
    else {
2105
1.50k
        auto first = range.begin();
2106
1.50k
        for (; first != range.end(); ++first) {
2107
1.50k
            if (pred(*first)) {
2108
1.50k
                return first;
2109
1.50k
            }
2110
1.50k
        }
2111
0
        return first;
2112
1.50k
    }
2113
1.50k
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
616
{
2101
616
    if constexpr (ranges::common_range<Range>) {
2102
616
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
616
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
488
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
488
    else {
2105
488
        auto first = range.begin();
2106
7.80k
        for (; first != range.end(); ++first) {
2107
7.58k
            if (pred(*first)) {
2108
268
                return first;
2109
268
            }
2110
7.58k
        }
2111
220
        return first;
2112
488
    }
2113
488
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
818
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
818
    else {
2105
818
        auto first = range.begin();
2106
878
        for (; first != range.end(); ++first) {
2107
848
            if (pred(*first)) {
2108
788
                return first;
2109
788
            }
2110
848
        }
2111
30
        return first;
2112
818
    }
2113
818
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
1.42k
{
2101
1.42k
    if constexpr (ranges::common_range<Range>) {
2102
1.42k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
1.42k
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
402
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
402
    else {
2105
402
        auto first = range.begin();
2106
2.44k
        for (; first != range.end(); ++first) {
2107
2.32k
            if (pred(*first)) {
2108
276
                return first;
2109
276
            }
2110
2.32k
        }
2111
126
        return first;
2112
402
    }
2113
402
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
492
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
492
    else {
2105
492
        auto first = range.begin();
2106
744
        for (; first != range.end(); ++first) {
2107
708
            if (pred(*first)) {
2108
456
                return first;
2109
456
            }
2110
708
        }
2111
36
        return first;
2112
492
    }
2113
492
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
550
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
550
    else {
2105
550
        auto first = range.begin();
2106
848
        for (; first != range.end(); ++first) {
2107
814
            if (pred(*first)) {
2108
516
                return first;
2109
516
            }
2110
814
        }
2111
34
        return first;
2112
550
    }
2113
550
}
2114
2115
template <typename Range>
2116
auto read_while_code_unit(Range range,
2117
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2118
    -> ranges::const_iterator_t<Range>
2119
{
2120
    auto first = range.begin();
2121
    for (; first != range.end(); ++first) {
2122
        if (*first != cu) {
2123
            return first;
2124
        }
2125
    }
2126
    return first;
2127
}
2128
2129
template <typename Range>
2130
auto read_while_code_unit(Range range,
2131
                          function_ref<bool(detail::char_t<Range>)> pred)
2132
    -> ranges::const_iterator_t<Range>
2133
5.83k
{
2134
5.83k
    return read_until_code_unit(range, std::not_fn(pred));
2135
5.83k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
1.50k
{
2134
1.50k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.50k
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
520
{
2134
520
    return read_until_code_unit(range, std::not_fn(pred));
2135
520
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
314
{
2134
314
    return read_until_code_unit(range, std::not_fn(pred));
2135
314
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
818
{
2134
818
    return read_until_code_unit(range, std::not_fn(pred));
2135
818
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
1.33k
{
2134
1.33k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.33k
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
294
{
2134
294
    return read_until_code_unit(range, std::not_fn(pred));
2135
294
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
492
{
2134
492
    return read_until_code_unit(range, std::not_fn(pred));
2135
492
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
550
{
2134
550
    return read_until_code_unit(range, std::not_fn(pred));
2135
550
}
2136
2137
template <typename Range>
2138
auto read_until1_code_unit(Range range,
2139
                           function_ref<bool(detail::char_t<Range>)> pred)
2140
    -> parse_expected<ranges::const_iterator_t<Range>>
2141
{
2142
    auto it = read_until_code_unit(range, pred);
2143
    if (it == range.begin()) {
2144
        return unexpected(parse_error::error);
2145
    }
2146
    return it;
2147
}
2148
2149
template <typename Range>
2150
auto read_while1_code_unit(Range range,
2151
                           function_ref<bool(detail::char_t<Range>)> pred)
2152
    -> parse_expected<ranges::const_iterator_t<Range>>
2153
2.36k
{
2154
2.36k
    auto it = read_while_code_unit(range, pred);
2155
2.36k
    if (it == range.begin()) {
2156
2.30k
        return unexpected(parse_error::error);
2157
2.30k
    }
2158
64
    return it;
2159
2.36k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
1.50k
{
2154
1.50k
    auto it = read_while_code_unit(range, pred);
2155
1.50k
    if (it == range.begin()) {
2156
1.50k
        return unexpected(parse_error::error);
2157
1.50k
    }
2158
0
    return it;
2159
1.50k
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
22
{
2154
22
    auto it = read_while_code_unit(range, pred);
2155
22
    if (it == range.begin()) {
2156
22
        return unexpected(parse_error::error);
2157
22
    }
2158
0
    return it;
2159
22
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
818
{
2154
818
    auto it = read_while_code_unit(range, pred);
2155
818
    if (it == range.begin()) {
2156
758
        return unexpected(parse_error::error);
2157
758
    }
2158
60
    return it;
2159
818
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
24
{
2154
24
    auto it = read_while_code_unit(range, pred);
2155
24
    if (it == range.begin()) {
2156
20
        return unexpected(parse_error::error);
2157
20
    }
2158
4
    return it;
2159
24
}
2160
2161
template <typename Range, typename CodeUnits>
2162
auto read_until_code_units(Range range, const CodeUnits& needle)
2163
    -> ranges::const_iterator_t<Range>
2164
246
{
2165
246
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
246
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
156
    else {
2172
156
        auto first = range.begin();
2173
2.18k
        while (true) {
2174
2.18k
            auto it = first;
2175
2.67k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.67k
                if (needle_it == needle.end()) {
2177
102
                    return first;
2178
102
                }
2179
2.56k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.51k
                if (*it != *needle_it) {
2183
2.02k
                    break;
2184
2.02k
                }
2185
2.51k
            }
2186
2.02k
            ++first;
2187
2.02k
        }
2188
156
    }
2189
246
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2164
156
{
2165
156
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
    if constexpr (ranges::common_range<Range>) {
2168
        return std::search(range.begin(), range.end(), needle.begin(),
2169
                           needle.end());
2170
    }
2171
156
    else {
2172
156
        auto first = range.begin();
2173
2.18k
        while (true) {
2174
2.18k
            auto it = first;
2175
2.67k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.67k
                if (needle_it == needle.end()) {
2177
102
                    return first;
2178
102
                }
2179
2.56k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.51k
                if (*it != *needle_it) {
2183
2.02k
                    break;
2184
2.02k
                }
2185
2.51k
            }
2186
2.02k
            ++first;
2187
2.02k
        }
2188
156
    }
2189
156
}
_ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2164
90
{
2165
90
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
90
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
    else {
2172
        auto first = range.begin();
2173
        while (true) {
2174
            auto it = first;
2175
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
                if (needle_it == needle.end()) {
2177
                    return first;
2178
                }
2179
                if (it == range.end()) {
2180
                    return it;
2181
                }
2182
                if (*it != *needle_it) {
2183
                    break;
2184
                }
2185
            }
2186
            ++first;
2187
        }
2188
    }
2189
90
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2190
2191
template <typename Range, typename CodeUnits>
2192
auto read_while_code_units(Range range, const CodeUnits& needle)
2193
    -> ranges::const_iterator_t<Range>
2194
1.40k
{
2195
1.40k
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
1.40k
    auto it = range.begin();
2198
2.61k
    while (it != range.end()) {
2199
2.53k
        auto r = read_exactly_n_code_units(
2200
2.53k
            ranges::subrange{it, range.end()},
2201
2.53k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
2.53k
        if (!r) {
2203
220
            return it;
2204
220
        }
2205
2.31k
        static_assert(
2206
2.31k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
2.31k
        if (!std::equal(it, *r, needle.begin())) {
2208
1.10k
            return it;
2209
1.10k
        }
2210
1.20k
        it = *r;
2211
1.20k
    }
2212
80
    SCN_ENSURE(it == range.end());
2213
80
    return it;
2214
80
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2194
316
{
2195
316
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
316
    auto it = range.begin();
2198
596
    while (it != range.end()) {
2199
596
        auto r = read_exactly_n_code_units(
2200
596
            ranges::subrange{it, range.end()},
2201
596
            static_cast<std::ptrdiff_t>(needle.size()));
2202
596
        if (!r) {
2203
6
            return it;
2204
6
        }
2205
590
        static_assert(
2206
590
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
590
        if (!std::equal(it, *r, needle.begin())) {
2208
310
            return it;
2209
310
        }
2210
280
        it = *r;
2211
280
    }
2212
0
    SCN_ENSURE(it == range.end());
2213
0
    return it;
2214
0
}
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2194
334
{
2195
334
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
334
    auto it = range.begin();
2198
678
    while (it != range.end()) {
2199
632
        auto r = read_exactly_n_code_units(
2200
632
            ranges::subrange{it, range.end()},
2201
632
            static_cast<std::ptrdiff_t>(needle.size()));
2202
632
        if (!r) {
2203
70
            return it;
2204
70
        }
2205
562
        static_assert(
2206
562
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
562
        if (!std::equal(it, *r, needle.begin())) {
2208
218
            return it;
2209
218
        }
2210
344
        it = *r;
2211
344
    }
2212
46
    SCN_ENSURE(it == range.end());
2213
46
    return it;
2214
46
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2194
756
{
2195
756
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
756
    auto it = range.begin();
2198
1.33k
    while (it != range.end()) {
2199
1.30k
        auto r = read_exactly_n_code_units(
2200
1.30k
            ranges::subrange{it, range.end()},
2201
1.30k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
1.30k
        if (!r) {
2203
144
            return it;
2204
144
        }
2205
1.16k
        static_assert(
2206
1.16k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
1.16k
        if (!std::equal(it, *r, needle.begin())) {
2208
578
            return it;
2209
578
        }
2210
582
        it = *r;
2211
582
    }
2212
34
    SCN_ENSURE(it == range.end());
2213
34
    return it;
2214
34
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2215
2216
template <typename Range>
2217
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2218
    -> ranges::const_iterator_t<Range>
2219
141k
{
2220
141k
    auto it = range.begin();
2221
611k
    while (it != range.end()) {
2222
602k
        const auto val =
2223
602k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
602k
        if (SCN_LIKELY(val.is_valid())) {
2225
598k
            const auto cp = detail::decode_code_point_exhaustive(
2226
598k
                std::basic_string_view<detail::char_t<Range>>{
2227
598k
                    val.codepoint.data(), val.codepoint.size()});
2228
598k
            if (pred(cp)) {
2229
131k
                return it;
2230
131k
            }
2231
598k
        }
2232
470k
        it = val.iterator;
2233
470k
    }
2234
2235
9.71k
    return it;
2236
141k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
1.06k
{
2220
1.06k
    auto it = range.begin();
2221
14.0k
    while (it != range.end()) {
2222
13.6k
        const auto val =
2223
13.6k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
13.6k
        if (SCN_LIKELY(val.is_valid())) {
2225
12.3k
            const auto cp = detail::decode_code_point_exhaustive(
2226
12.3k
                std::basic_string_view<detail::char_t<Range>>{
2227
12.3k
                    val.codepoint.data(), val.codepoint.size()});
2228
12.3k
            if (pred(cp)) {
2229
652
                return it;
2230
652
            }
2231
12.3k
        }
2232
12.9k
        it = val.iterator;
2233
12.9k
    }
2234
2235
416
    return it;
2236
1.06k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
1.04k
{
2220
1.04k
    auto it = range.begin();
2221
16.6k
    while (it != range.end()) {
2222
15.8k
        const auto val =
2223
15.8k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
15.8k
        if (SCN_LIKELY(val.is_valid())) {
2225
14.2k
            const auto cp = detail::decode_code_point_exhaustive(
2226
14.2k
                std::basic_string_view<detail::char_t<Range>>{
2227
14.2k
                    val.codepoint.data(), val.codepoint.size()});
2228
14.2k
            if (pred(cp)) {
2229
222
                return it;
2230
222
            }
2231
14.2k
        }
2232
15.5k
        it = val.iterator;
2233
15.5k
    }
2234
2235
822
    return it;
2236
1.04k
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
2.61k
{
2220
2.61k
    auto it = range.begin();
2221
326k
    while (it != range.end()) {
2222
326k
        const auto val =
2223
326k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
326k
        if (SCN_LIKELY(val.is_valid())) {
2225
325k
            const auto cp = detail::decode_code_point_exhaustive(
2226
325k
                std::basic_string_view<detail::char_t<Range>>{
2227
325k
                    val.codepoint.data(), val.codepoint.size()});
2228
325k
            if (pred(cp)) {
2229
2.44k
                return it;
2230
2.44k
            }
2231
325k
        }
2232
323k
        it = val.iterator;
2233
323k
    }
2234
2235
162
    return it;
2236
2.61k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2219
60.6k
{
2220
60.6k
    auto it = range.begin();
2221
68.0k
    while (it != range.end()) {
2222
63.8k
        const auto val =
2223
63.8k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
63.8k
        if (SCN_LIKELY(val.is_valid())) {
2225
63.8k
            const auto cp = detail::decode_code_point_exhaustive(
2226
63.8k
                std::basic_string_view<detail::char_t<Range>>{
2227
63.8k
                    val.codepoint.data(), val.codepoint.size()});
2228
63.8k
            if (pred(cp)) {
2229
56.5k
                return it;
2230
56.5k
            }
2231
63.8k
        }
2232
7.37k
        it = val.iterator;
2233
7.37k
    }
2234
2235
4.18k
    return it;
2236
60.6k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
808
{
2220
808
    auto it = range.begin();
2221
5.59k
    while (it != range.end()) {
2222
5.42k
        const auto val =
2223
5.42k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
5.42k
        if (SCN_LIKELY(val.is_valid())) {
2225
5.42k
            const auto cp = detail::decode_code_point_exhaustive(
2226
5.42k
                std::basic_string_view<detail::char_t<Range>>{
2227
5.42k
                    val.codepoint.data(), val.codepoint.size()});
2228
5.42k
            if (pred(cp)) {
2229
640
                return it;
2230
640
            }
2231
5.42k
        }
2232
4.78k
        it = val.iterator;
2233
4.78k
    }
2234
2235
168
    return it;
2236
808
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
70.9k
{
2220
70.9k
    auto it = range.begin();
2221
165k
    while (it != range.end()) {
2222
162k
        const auto val =
2223
162k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
162k
        if (SCN_LIKELY(val.is_valid())) {
2225
162k
            const auto cp = detail::decode_code_point_exhaustive(
2226
162k
                std::basic_string_view<detail::char_t<Range>>{
2227
162k
                    val.codepoint.data(), val.codepoint.size()});
2228
162k
            if (pred(cp)) {
2229
67.7k
                return it;
2230
67.7k
            }
2231
162k
        }
2232
94.7k
        it = val.iterator;
2233
94.7k
    }
2234
2235
3.15k
    return it;
2236
70.9k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
522
{
2220
522
    auto it = range.begin();
2221
9.30k
    while (it != range.end()) {
2222
8.85k
        const auto val =
2223
8.85k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
8.85k
        if (SCN_LIKELY(val.is_valid())) {
2225
8.85k
            const auto cp = detail::decode_code_point_exhaustive(
2226
8.85k
                std::basic_string_view<detail::char_t<Range>>{
2227
8.85k
                    val.codepoint.data(), val.codepoint.size()});
2228
8.85k
            if (pred(cp)) {
2229
78
                return it;
2230
78
            }
2231
8.85k
        }
2232
8.77k
        it = val.iterator;
2233
8.77k
    }
2234
2235
444
    return it;
2236
522
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
2.47k
{
2220
2.47k
    auto it = range.begin();
2221
3.92k
    while (it != range.end()) {
2222
3.66k
        const auto val =
2223
3.66k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
3.66k
        if (SCN_LIKELY(val.is_valid())) {
2225
3.66k
            const auto cp = detail::decode_code_point_exhaustive(
2226
3.66k
                std::basic_string_view<detail::char_t<Range>>{
2227
3.66k
                    val.codepoint.data(), val.codepoint.size()});
2228
3.66k
            if (pred(cp)) {
2229
2.22k
                return it;
2230
2.22k
            }
2231
3.66k
        }
2232
1.44k
        it = val.iterator;
2233
1.44k
    }
2234
2235
254
    return it;
2236
2.47k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
1.38k
{
2220
1.38k
    auto it = range.begin();
2221
1.98k
    while (it != range.end()) {
2222
1.86k
        const auto val =
2223
1.86k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
1.86k
        if (SCN_LIKELY(val.is_valid())) {
2225
1.86k
            const auto cp = detail::decode_code_point_exhaustive(
2226
1.86k
                std::basic_string_view<detail::char_t<Range>>{
2227
1.86k
                    val.codepoint.data(), val.codepoint.size()});
2228
1.86k
            if (pred(cp)) {
2229
1.27k
                return it;
2230
1.27k
            }
2231
1.86k
        }
2232
598
        it = val.iterator;
2233
598
    }
2234
2235
116
    return it;
2236
1.38k
}
2237
2238
template <typename Range>
2239
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2240
    -> ranges::const_iterator_t<Range>
2241
136k
{
2242
136k
    return read_until_code_point(range, std::not_fn(pred));
2243
136k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
846
{
2242
846
    return read_until_code_point(range, std::not_fn(pred));
2243
846
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
2.38k
{
2242
2.38k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.38k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2241
60.6k
{
2242
60.6k
    return read_until_code_point(range, std::not_fn(pred));
2243
60.6k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
610
{
2242
610
    return read_until_code_point(range, std::not_fn(pred));
2243
610
}
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
67.9k
{
2242
67.9k
    return read_until_code_point(range, std::not_fn(pred));
2243
67.9k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
2.47k
{
2242
2.47k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.47k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
1.38k
{
2242
1.38k
    return read_until_code_point(range, std::not_fn(pred));
2243
1.38k
}
2244
2245
template <typename Range>
2246
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2247
7.29k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.95k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.95k
        auto buf = make_contiguous_buffer(range);
2252
2.95k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.95k
        return ranges::next(range.begin(),
2254
2.95k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
4.34k
    else {
2257
4.34k
        auto it = range.begin();
2258
2259
4.34k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
1.04k
            auto seg = get_contiguous_beginning(range);
2261
1.04k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
1.04k
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
1.04k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
1.04k
        }
2267
2268
0
        return read_until_code_point(
2269
4.34k
            ranges::subrange{it, range.end()},
2270
49.9k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
14.2k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
8.85k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2270
25.0k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2270
1.84k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
4.34k
    }
2272
7.29k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
1.04k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
1.04k
    else {
2257
1.04k
        auto it = range.begin();
2258
2259
1.04k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
1.04k
            auto seg = get_contiguous_beginning(range);
2261
1.04k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
1.04k
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
1.04k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
1.04k
        }
2267
2268
0
        return read_until_code_point(
2269
1.04k
            ranges::subrange{it, range.end()},
2270
1.04k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
1.04k
    }
2272
1.04k
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
2.95k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.95k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.95k
        auto buf = make_contiguous_buffer(range);
2252
2.95k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.95k
        return ranges::next(range.begin(),
2254
2.95k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
    else {
2257
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
        return read_until_code_point(
2269
            ranges::subrange{it, range.end()},
2270
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
    }
2272
2.95k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
522
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
522
    else {
2257
522
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
522
        return read_until_code_point(
2269
522
            ranges::subrange{it, range.end()},
2270
522
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
522
    }
2272
522
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
2.70k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
2.70k
    else {
2257
2.70k
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
2.70k
        return read_until_code_point(
2269
2.70k
            ranges::subrange{it, range.end()},
2270
2.70k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
2.70k
    }
2272
2.70k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
_ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2247
74
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
74
    else {
2257
74
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
74
        return read_until_code_point(
2269
74
            ranges::subrange{it, range.end()},
2270
74
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
74
    }
2272
74
}
2273
2274
template <typename Range>
2275
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2276
159k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
26.3k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
26.3k
        auto buf = make_contiguous_buffer(range);
2281
26.3k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
26.3k
        return ranges::next(range.begin(),
2283
26.3k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
133k
    else {
2286
133k
        auto it = range.begin();
2287
2288
133k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
3.08k
            auto seg = get_contiguous_beginning(range);
2290
3.08k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
3.08k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
3.08k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
3.08k
        }
2296
2297
133k
        SCN_UNUSED(it);
2298
202k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
202k
            return detail::is_cp_space(cp);
2300
202k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
1.91k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.91k
            return detail::is_cp_space(cp);
2300
1.91k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2298
63.8k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
63.8k
            return detail::is_cp_space(cp);
2300
63.8k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
872
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
872
            return detail::is_cp_space(cp);
2300
872
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2298
130k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
130k
            return detail::is_cp_space(cp);
2300
130k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
3.66k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
3.66k
            return detail::is_cp_space(cp);
2300
3.66k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
1.86k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.86k
            return detail::is_cp_space(cp);
2300
1.86k
        });
2301
133k
    }
2302
159k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
606
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
606
    else {
2286
606
        auto it = range.begin();
2287
2288
606
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
606
            auto seg = get_contiguous_beginning(range);
2290
606
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
606
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
606
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
606
        }
2296
2297
606
        SCN_UNUSED(it);
2298
606
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
606
            return detail::is_cp_space(cp);
2300
606
        });
2301
606
    }
2302
606
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
16.6k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
16.6k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
16.6k
        auto buf = make_contiguous_buffer(range);
2281
16.6k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
16.6k
        return ranges::next(range.begin(),
2283
16.6k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
16.6k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
60.6k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
60.6k
    else {
2286
60.6k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
60.6k
        SCN_UNUSED(it);
2298
60.6k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
60.6k
            return detail::is_cp_space(cp);
2300
60.6k
        });
2301
60.6k
    }
2302
60.6k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
460
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
460
    else {
2286
460
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
460
        SCN_UNUSED(it);
2298
460
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
460
            return detail::is_cp_space(cp);
2300
460
        });
2301
460
    }
2302
460
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
67.7k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
67.7k
    else {
2286
67.7k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
67.7k
        SCN_UNUSED(it);
2298
67.7k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
67.7k
            return detail::is_cp_space(cp);
2300
67.7k
        });
2301
67.7k
    }
2302
67.7k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
9.67k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
9.67k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
9.67k
        auto buf = make_contiguous_buffer(range);
2281
9.67k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
9.67k
        return ranges::next(range.begin(),
2283
9.67k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
9.67k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
2.47k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
2.47k
    else {
2286
2.47k
        auto it = range.begin();
2287
2288
2.47k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
2.47k
            auto seg = get_contiguous_beginning(range);
2290
2.47k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
2.47k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
2.47k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
2.47k
        }
2296
2297
2.47k
        SCN_UNUSED(it);
2298
2.47k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
2.47k
            return detail::is_cp_space(cp);
2300
2.47k
        });
2301
2.47k
    }
2302
2.47k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
1.38k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
1.38k
    else {
2286
1.38k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
1.38k
        SCN_UNUSED(it);
2298
1.38k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.38k
            return detail::is_cp_space(cp);
2300
1.38k
        });
2301
1.38k
    }
2302
1.38k
}
2303
2304
template <typename Range>
2305
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2306
    -> parse_expected<ranges::const_iterator_t<Range>>
2307
5.15k
{
2308
5.15k
    auto it = read_code_unit(range);
2309
5.15k
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
5.14k
    if (SCN_UNLIKELY(*range.begin() !=
2314
5.14k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
5.03k
        return unexpected(parse_error::error);
2316
5.03k
    }
2317
2318
112
    return *it;
2319
5.14k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
40
{
2308
40
    auto it = read_code_unit(range);
2309
40
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
40
    if (SCN_UNLIKELY(*range.begin() !=
2314
40
                     static_cast<detail::char_t<Range>>(ch))) {
2315
40
        return unexpected(parse_error::error);
2316
40
    }
2317
2318
0
    return *it;
2319
40
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
1.92k
{
2308
1.92k
    auto it = read_code_unit(range);
2309
1.92k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
1.92k
    if (SCN_UNLIKELY(*range.begin() !=
2314
1.92k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
1.92k
        return unexpected(parse_error::error);
2316
1.92k
    }
2317
2318
0
    return *it;
2319
1.92k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
90
{
2308
90
    auto it = read_code_unit(range);
2309
90
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
82
    if (SCN_UNLIKELY(*range.begin() !=
2314
82
                     static_cast<detail::char_t<Range>>(ch))) {
2315
64
        return unexpected(parse_error::error);
2316
64
    }
2317
2318
18
    return *it;
2319
82
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
1.90k
{
2308
1.90k
    auto it = read_code_unit(range);
2309
1.90k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
1.90k
    if (SCN_UNLIKELY(*range.begin() !=
2314
1.90k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
1.83k
        return unexpected(parse_error::error);
2316
1.83k
    }
2317
2318
72
    return *it;
2319
1.90k
}
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
768
{
2308
768
    auto it = read_code_unit(range);
2309
768
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
768
    if (SCN_UNLIKELY(*range.begin() !=
2314
768
                     static_cast<detail::char_t<Range>>(ch))) {
2315
768
        return unexpected(parse_error::error);
2316
768
    }
2317
2318
0
    return *it;
2319
768
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
422
{
2308
422
    auto it = read_code_unit(range);
2309
422
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
422
    if (SCN_UNLIKELY(*range.begin() !=
2314
422
                     static_cast<detail::char_t<Range>>(ch))) {
2315
400
        return unexpected(parse_error::error);
2316
400
    }
2317
2318
22
    return *it;
2319
422
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2320
2321
template <typename Range>
2322
auto read_matching_code_point(Range range, char32_t cp)
2323
    -> parse_expected<ranges::const_iterator_t<Range>>
2324
{
2325
    auto val = read_code_point_into(range);
2326
    if (!val.is_valid()) {
2327
        return unexpected(parse_error::error);
2328
    }
2329
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2330
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2331
        return unexpected(parse_error::error);
2332
    }
2333
    return val.iterator;
2334
}
2335
2336
template <typename Range>
2337
auto read_matching_string(Range range,
2338
                          std::basic_string_view<detail::char_t<Range>> str)
2339
    -> parse_expected<ranges::const_iterator_t<Range>>
2340
104
{
2341
104
    SCN_TRY(it, read_exactly_n_code_units(
2342
64
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
64
                    .transform_error(make_eof_parse_error));
2344
2345
64
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
64
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
64
        return unexpected(parse_error::error);
2348
64
    }
2349
0
    return it;
2350
64
}
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
32
{
2341
32
    SCN_TRY(it, read_exactly_n_code_units(
2342
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
14
                    .transform_error(make_eof_parse_error));
2344
2345
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
14
        return unexpected(parse_error::error);
2348
14
    }
2349
0
    return it;
2350
14
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
20
{
2341
20
    SCN_TRY(it, read_exactly_n_code_units(
2342
18
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
18
                    .transform_error(make_eof_parse_error));
2344
2345
18
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
18
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
18
        return unexpected(parse_error::error);
2348
18
    }
2349
0
    return it;
2350
18
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
28
{
2341
28
    SCN_TRY(it, read_exactly_n_code_units(
2342
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
10
                    .transform_error(make_eof_parse_error));
2344
2345
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
10
        return unexpected(parse_error::error);
2348
10
    }
2349
0
    return it;
2350
10
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
24
{
2341
24
    SCN_TRY(it, read_exactly_n_code_units(
2342
22
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
22
                    .transform_error(make_eof_parse_error));
2344
2345
22
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
22
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
22
        return unexpected(parse_error::error);
2348
22
    }
2349
0
    return it;
2350
22
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2351
2352
template <typename Range>
2353
auto read_matching_string_classic(Range range, std::string_view str)
2354
    -> parse_expected<ranges::const_iterator_t<Range>>
2355
5.16k
{
2356
5.16k
    SCN_TRY(it, read_exactly_n_code_units(
2357
4.60k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
4.60k
                    .transform_error(make_eof_parse_error));
2359
2360
4.60k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
2.69k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
2.69k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
2.69k
            return unexpected(parse_error::error);
2364
2.69k
        }
2365
0
        return it;
2366
    }
2367
1.90k
    else {
2368
1.90k
        auto range_it = range.begin();
2369
1.90k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
1.90k
            if (SCN_UNLIKELY(*range_it !=
2371
1.90k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
1.90k
                return unexpected(parse_error::error);
2373
1.90k
            }
2374
1.90k
        }
2375
0
        return it;
2376
1.90k
    }
2377
4.60k
}
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
2.07k
{
2356
2.07k
    SCN_TRY(it, read_exactly_n_code_units(
2357
1.97k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
1.97k
                    .transform_error(make_eof_parse_error));
2359
2360
1.97k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
1.97k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
1.97k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
1.97k
            return unexpected(parse_error::error);
2364
1.97k
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
1.97k
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
896
{
2356
896
    SCN_TRY(it, read_exactly_n_code_units(
2357
726
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
726
                    .transform_error(make_eof_parse_error));
2359
2360
726
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
726
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
726
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
726
            return unexpected(parse_error::error);
2364
726
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
726
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
1.78k
{
2356
1.78k
    SCN_TRY(it, read_exactly_n_code_units(
2357
1.60k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
1.60k
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
1.60k
    else {
2368
1.60k
        auto range_it = range.begin();
2369
1.60k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
1.60k
            if (SCN_UNLIKELY(*range_it !=
2371
1.60k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
1.60k
                return unexpected(parse_error::error);
2373
1.60k
            }
2374
1.60k
        }
2375
0
        return it;
2376
1.60k
    }
2377
1.60k
}
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
412
{
2356
412
    SCN_TRY(it, read_exactly_n_code_units(
2357
302
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
302
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
302
    else {
2368
302
        auto range_it = range.begin();
2369
302
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
302
            if (SCN_UNLIKELY(*range_it !=
2371
302
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
302
                return unexpected(parse_error::error);
2373
302
            }
2374
302
        }
2375
0
        return it;
2376
302
    }
2377
302
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2378
2379
// Ripped from fast_float
2380
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2381
3.80k
{
2382
3.80k
    unsigned char running_diff{0};
2383
13.2k
    for (size_t i = 0; i < len; ++i) {
2384
9.47k
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2385
9.47k
    }
2386
3.80k
    return running_diff == 0 || running_diff == 32;
2387
3.80k
}
2388
2389
template <typename Range>
2390
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2391
    -> parse_expected<ranges::const_iterator_t<Range>>
2392
10.3k
{
2393
10.3k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.80k
                  std::is_same_v<char_type, char>) {
2397
3.80k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.80k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.80k
            return unexpected(parse_error::error);
2402
3.80k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
6.52k
    else {
2407
6.52k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
6.23k
            if (ch < 'A' || ch > 'Z') {
2409
6.23k
                return ch;
2410
6.23k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
6.23k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2407
1.34k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.34k
            if (ch < 'A' || ch > 'Z') {
2409
1.34k
                return ch;
2410
1.34k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
1.34k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
790
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
790
            if (ch < 'A' || ch > 'Z') {
2409
790
                return ch;
2410
790
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
790
        };
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
4.10k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
4.10k
            if (ch < 'A' || ch > 'Z') {
2409
4.10k
                return ch;
2410
4.10k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
4.10k
        };
2414
2415
6.52k
        SCN_TRY(it, read_exactly_n_code_units(
2416
6.02k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
6.02k
                        .transform_error(make_eof_parse_error));
2418
2419
6.02k
        if (SCN_UNLIKELY(!std::equal(
2420
6.02k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
6.02k
                    return ascii_tolower(a) ==
2422
6.02k
                           static_cast<detail::char_t<Range>>(b);
2423
6.02k
                }))) {
2424
6.02k
            return unexpected(parse_error::error);
2425
6.02k
        }
2426
2427
0
        return it;
2428
6.02k
    }
2429
10.3k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
1.60k
{
2393
1.60k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
1.60k
    else {
2407
1.60k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.60k
            if (ch < 'A' || ch > 'Z') {
2409
1.60k
                return ch;
2410
1.60k
            }
2411
1.60k
            return static_cast<char_type>(ch +
2412
1.60k
                                          static_cast<char_type>('a' - 'A'));
2413
1.60k
        };
2414
2415
1.60k
        SCN_TRY(it, read_exactly_n_code_units(
2416
1.34k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
1.34k
                        .transform_error(make_eof_parse_error));
2418
2419
1.34k
        if (SCN_UNLIKELY(!std::equal(
2420
1.34k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
1.34k
                    return ascii_tolower(a) ==
2422
1.34k
                           static_cast<detail::char_t<Range>>(b);
2423
1.34k
                }))) {
2424
1.34k
            return unexpected(parse_error::error);
2425
1.34k
        }
2426
2427
0
        return it;
2428
1.34k
    }
2429
1.60k
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
3.80k
{
2393
3.80k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.80k
                  std::is_same_v<char_type, char>) {
2397
3.80k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.80k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.80k
            return unexpected(parse_error::error);
2402
3.80k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
    else {
2407
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
            if (ch < 'A' || ch > 'Z') {
2409
                return ch;
2410
            }
2411
            return static_cast<char_type>(ch +
2412
                                          static_cast<char_type>('a' - 'A'));
2413
        };
2414
2415
        SCN_TRY(it, read_exactly_n_code_units(
2416
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
                        .transform_error(make_eof_parse_error));
2418
2419
        if (SCN_UNLIKELY(!std::equal(
2420
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
                    return ascii_tolower(a) ==
2422
                           static_cast<detail::char_t<Range>>(b);
2423
                }))) {
2424
            return unexpected(parse_error::error);
2425
        }
2426
2427
        return it;
2428
    }
2429
3.80k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
972
{
2393
972
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
972
    else {
2407
972
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
972
            if (ch < 'A' || ch > 'Z') {
2409
972
                return ch;
2410
972
            }
2411
972
            return static_cast<char_type>(ch +
2412
972
                                          static_cast<char_type>('a' - 'A'));
2413
972
        };
2414
2415
972
        SCN_TRY(it, read_exactly_n_code_units(
2416
742
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
742
                        .transform_error(make_eof_parse_error));
2418
2419
742
        if (SCN_UNLIKELY(!std::equal(
2420
742
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
742
                    return ascii_tolower(a) ==
2422
742
                           static_cast<detail::char_t<Range>>(b);
2423
742
                }))) {
2424
742
            return unexpected(parse_error::error);
2425
742
        }
2426
2427
0
        return it;
2428
742
    }
2429
972
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
3.94k
{
2393
3.94k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
3.94k
    else {
2407
3.94k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
3.94k
            if (ch < 'A' || ch > 'Z') {
2409
3.94k
                return ch;
2410
3.94k
            }
2411
3.94k
            return static_cast<char_type>(ch +
2412
3.94k
                                          static_cast<char_type>('a' - 'A'));
2413
3.94k
        };
2414
2415
3.94k
        SCN_TRY(it, read_exactly_n_code_units(
2416
3.93k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
3.93k
                        .transform_error(make_eof_parse_error));
2418
2419
3.93k
        if (SCN_UNLIKELY(!std::equal(
2420
3.93k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
3.93k
                    return ascii_tolower(a) ==
2422
3.93k
                           static_cast<detail::char_t<Range>>(b);
2423
3.93k
                }))) {
2424
3.93k
            return unexpected(parse_error::error);
2425
3.93k
        }
2426
2427
0
        return it;
2428
3.93k
    }
2429
3.94k
}
2430
2431
template <typename Range>
2432
auto read_one_of_code_unit(Range range, std::string_view str)
2433
    -> parse_expected<ranges::const_iterator_t<Range>>
2434
9.97k
{
2435
9.97k
    auto it = read_code_unit(range);
2436
9.97k
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
19.9k
    for (auto ch : str) {
2441
19.9k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
19.9k
    }
2445
2446
9.96k
    return unexpected(parse_error::error);
2447
9.96k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
1.52k
{
2435
1.52k
    auto it = read_code_unit(range);
2436
1.52k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
3.05k
    for (auto ch : str) {
2441
3.05k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
3.05k
    }
2445
2446
1.52k
    return unexpected(parse_error::error);
2447
1.52k
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
3.75k
{
2435
3.75k
    auto it = read_code_unit(range);
2436
3.75k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
7.51k
    for (auto ch : str) {
2441
7.51k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
7.51k
    }
2445
2446
3.75k
    return unexpected(parse_error::error);
2447
3.75k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
866
{
2435
866
    auto it = read_code_unit(range);
2436
866
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
1.73k
    for (auto ch : str) {
2441
1.73k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
1.73k
    }
2445
2446
866
    return unexpected(parse_error::error);
2447
866
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
3.80k
{
2435
3.80k
    auto it = read_code_unit(range);
2436
3.80k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
7.60k
    for (auto ch : str) {
2441
7.60k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
7.60k
    }
2445
2446
3.80k
    return unexpected(parse_error::error);
2447
3.80k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2434
20
{
2435
20
    auto it = read_code_unit(range);
2436
20
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
28
    for (auto ch : str) {
2441
28
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
28
    }
2445
2446
14
    return unexpected(parse_error::error);
2447
14
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_S7_
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_NS4_IcNS5_IcEEEE
2448
2449
template <typename Range, template <class> class Expected, typename Iterator>
2450
auto apply_opt(Expected<Iterator>&& result, Range range)
2451
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2452
                        ranges::const_iterator_t<Range>>
2453
2.56k
{
2454
2.56k
    if (!result) {
2455
2.55k
        return range.begin();
2456
2.55k
    }
2457
12
    return *result;
2458
2.56k
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
388
{
2454
388
    if (!result) {
2455
388
        return range.begin();
2456
388
    }
2457
0
    return *result;
2458
388
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
956
{
2454
956
    if (!result) {
2455
956
        return range.begin();
2456
956
    }
2457
0
    return *result;
2458
956
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
240
{
2454
240
    if (!result) {
2455
234
        return range.begin();
2456
234
    }
2457
6
    return *result;
2458
240
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
982
{
2454
982
    if (!result) {
2455
976
        return range.begin();
2456
976
    }
2457
6
    return *result;
2458
982
}
2459
2460
/////////////////////////////////////////////////////////////////
2461
// Text width calculation
2462
/////////////////////////////////////////////////////////////////
2463
2464
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2465
174k
{
2466
174k
    if (cp >= 0x1100 &&
2467
174k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2468
45.8k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2469
45.8k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2470
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2471
45.8k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2472
45.8k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2473
45.8k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2474
45.8k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2475
45.8k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2476
45.8k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2477
45.8k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2478
45.8k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2479
45.8k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2480
         // Miscellaneous Symbols and Pictographs + Emoticons:
2481
45.8k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2482
         // Supplemental Symbols and Pictographs:
2483
45.8k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2484
4.99k
        return 2;
2485
4.99k
    }
2486
169k
    return 1;
2487
174k
}
2488
2489
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2490
115k
{
2491
115k
    return calculate_text_width_for_fmt_v10(cp);
2492
115k
}
2493
2494
template <typename CharT>
2495
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2496
{
2497
    size_t count{0};
2498
    for_each_code_point_valid(input, [&count](char32_t cp) {
2499
        count += calculate_text_width_for_fmt_v10(cp);
2500
    });
2501
    return count;
2502
}
2503
2504
constexpr std::size_t calculate_text_width(char32_t cp)
2505
244
{
2506
244
    return calculate_text_width_for_fmt_v10(cp);
2507
244
}
2508
2509
template <typename CharT>
2510
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2511
45.4k
{
2512
45.4k
    size_t count{0};
2513
58.9k
    for_each_code_point(input, [&count](char32_t cp) {
2514
58.9k
        count += calculate_text_width_for_fmt_v10(cp);
2515
58.9k
    });
scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
50.2k
    for_each_code_point(input, [&count](char32_t cp) {
2514
50.2k
        count += calculate_text_width_for_fmt_v10(cp);
2515
50.2k
    });
scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
8.70k
    for_each_code_point(input, [&count](char32_t cp) {
2514
8.70k
        count += calculate_text_width_for_fmt_v10(cp);
2515
8.70k
    });
2516
45.4k
    return count;
2517
45.4k
}
unsigned long scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2511
42.0k
{
2512
42.0k
    size_t count{0};
2513
42.0k
    for_each_code_point(input, [&count](char32_t cp) {
2514
42.0k
        count += calculate_text_width_for_fmt_v10(cp);
2515
42.0k
    });
2516
42.0k
    return count;
2517
42.0k
}
unsigned long scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2511
3.40k
{
2512
3.40k
    size_t count{0};
2513
3.40k
    for_each_code_point(input, [&count](char32_t cp) {
2514
3.40k
        count += calculate_text_width_for_fmt_v10(cp);
2515
3.40k
    });
2516
3.40k
    return count;
2517
3.40k
}
2518
2519
namespace counted_width_iterator_impl {
2520
template <typename It, typename S>
2521
class counted_width_iterator {
2522
    static_assert(ranges::forward_iterator<It>);
2523
    static_assert(ranges::sentinel_for<S, It>);
2524
2525
    template <typename OtherIt, typename OtherS>
2526
    friend class counted_width_iterator;
2527
2528
public:
2529
    using iterator = It;
2530
    using sentinel = S;
2531
    using value_type = ranges::iter_value_t<It>;
2532
    using pointer = value_type*;
2533
    using reference = value_type&;
2534
    using difference_type = ranges::iter_difference_t<It>;
2535
    using iterator_category =
2536
        std::conditional_t<ranges::bidirectional_iterator<It>,
2537
                           std::bidirectional_iterator_tag,
2538
                           std::forward_iterator_tag>;
2539
2540
    constexpr counted_width_iterator() = default;
2541
2542
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2543
53.0k
        : m_current(x), m_end(s), m_count(n)
2544
53.0k
    {
2545
53.0k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2543
6.20k
        : m_current(x), m_end(s), m_count(n)
2544
6.20k
    {
2545
6.20k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2543
3.32k
        : m_current(x), m_end(s), m_count(n)
2544
3.32k
    {
2545
3.32k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2543
28.3k
        : m_current(x), m_end(s), m_count(n)
2544
28.3k
    {
2545
28.3k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2543
15.1k
        : m_current(x), m_end(s), m_count(n)
2544
15.1k
    {
2545
15.1k
    }
2546
2547
    template <typename OtherIt,
2548
              typename OtherS,
2549
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2550
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2551
    constexpr counted_width_iterator(
2552
        const counted_width_iterator<OtherIt, OtherS>& other)
2553
        : m_current(other.m_current),
2554
          m_end(other.m_end),
2555
          m_count(other.m_count),
2556
          m_multibyte_left(other.m_multibyte_left)
2557
    {
2558
    }
2559
2560
    template <typename OtherIt, typename OtherS>
2561
    constexpr auto operator=(
2562
        const counted_width_iterator<OtherIt, OtherS>& other)
2563
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2564
                                std::is_convertible_v<OtherS, S>,
2565
                            counted_width_iterator&>
2566
    {
2567
        m_current = other.m_current;
2568
        m_end = other.m_end;
2569
        m_count = other.m_count;
2570
        m_multibyte_left = other.m_multibyte_left;
2571
        return *this;
2572
    }
2573
2574
    constexpr It base() const
2575
254k
    {
2576
254k
        return m_current;
2577
254k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2575
166k
    {
2576
166k
        return m_current;
2577
166k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2575
59.2k
    {
2576
59.2k
        return m_current;
2577
59.2k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
21.2k
    {
2576
21.2k
        return m_current;
2577
21.2k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
7.64k
    {
2576
7.64k
        return m_current;
2577
7.64k
    }
2578
    constexpr difference_type count() const
2579
494k
    {
2580
494k
        return m_count;
2581
494k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2579
324k
    {
2580
324k
        return m_count;
2581
324k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2579
113k
    {
2580
113k
        return m_count;
2581
113k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
41.4k
    {
2580
41.4k
        return m_count;
2581
41.4k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
14.3k
    {
2580
14.3k
        return m_count;
2581
14.3k
    }
2582
    constexpr difference_type multibyte_left() const
2583
39.6k
    {
2584
39.6k
        return m_multibyte_left;
2585
39.6k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2583
30.5k
    {
2584
30.5k
        return m_multibyte_left;
2585
30.5k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2583
4.67k
    {
2584
4.67k
        return m_multibyte_left;
2585
4.67k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
3.45k
    {
2584
3.45k
        return m_multibyte_left;
2585
3.45k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
938
    {
2584
938
        return m_multibyte_left;
2585
938
    }
2586
2587
    bool is_current_double_wide() const
2588
15.1k
    {
2589
15.1k
        assert(count() != 0 || multibyte_left() != 0);
2590
15.1k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
15.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::is_current_double_wide() const
Line
Count
Source
2588
9.01k
    {
2589
9.01k
        assert(count() != 0 || multibyte_left() != 0);
2590
9.01k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
9.01k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::is_current_double_wide() const
Line
Count
Source
2588
3.81k
    {
2589
3.81k
        assert(count() != 0 || multibyte_left() != 0);
2590
3.81k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
3.81k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
1.60k
    {
2589
1.60k
        assert(count() != 0 || multibyte_left() != 0);
2590
1.60k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
1.60k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
672
    {
2589
672
        assert(count() != 0 || multibyte_left() != 0);
2590
672
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
672
    }
2592
2593
    constexpr decltype(auto) operator*()
2594
221k
    {
2595
221k
        return *m_current;
2596
221k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2594
147k
    {
2595
147k
        return *m_current;
2596
147k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2594
57.4k
    {
2595
57.4k
        return *m_current;
2596
57.4k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
12.0k
    {
2595
12.0k
        return *m_current;
2596
12.0k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
4.55k
    {
2595
4.55k
        return *m_current;
2596
4.55k
    }
2597
    constexpr decltype(auto) operator*() const
2598
21.0k
    {
2599
21.0k
        return *m_current;
2600
21.0k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2598
15.3k
    {
2599
15.3k
        return *m_current;
2600
15.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2598
5.67k
    {
2599
5.67k
        return *m_current;
2600
5.67k
    }
2601
2602
    constexpr counted_width_iterator& operator++()
2603
235k
    {
2604
235k
        SCN_EXPECT(m_current != m_end);
2605
235k
        _increment_current();
2606
235k
        return *this;
2607
235k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2603
174k
    {
2604
174k
        SCN_EXPECT(m_current != m_end);
2605
174k
        _increment_current();
2606
174k
        return *this;
2607
174k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2603
42.1k
    {
2604
42.1k
        SCN_EXPECT(m_current != m_end);
2605
42.1k
        _increment_current();
2606
42.1k
        return *this;
2607
42.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
15.9k
    {
2604
15.9k
        SCN_EXPECT(m_current != m_end);
2605
15.9k
        _increment_current();
2606
15.9k
        return *this;
2607
15.9k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
2.16k
    {
2604
2.16k
        SCN_EXPECT(m_current != m_end);
2605
2.16k
        _increment_current();
2606
2.16k
        return *this;
2607
2.16k
    }
2608
2609
    constexpr counted_width_iterator operator++(int)
2610
    {
2611
        auto tmp = *this;
2612
        ++*this;
2613
        return tmp;
2614
    }
2615
2616
    template <typename Iter = It>
2617
    constexpr auto operator--()
2618
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2619
                            counted_width_iterator&>
2620
0
    {
2621
0
        _decrement_current();
2622
0
        return *this;
2623
0
    }
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2624
2625
    template <typename Iter = It>
2626
    constexpr auto operator--(int)
2627
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2628
                            counted_width_iterator>
2629
    {
2630
        auto tmp = *this;
2631
        --*this;
2632
        return tmp;
2633
    }
2634
2635
    // TODO: optimize, make better than forward, if possible
2636
#if 0
2637
                template <typename Iter = It>
2638
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2639
                    ranges_std::random_access_iterator<Iter>,
2640
                    counted_width_iterator>
2641
                {
2642
                    // TODO
2643
                    return counted_width_iterator(m_current + n, m_count - n);
2644
                }
2645
2646
                template <typename Iter = It,
2647
                          std::enable_if_t<ranges_std::random_access_iterator<
2648
                              Iter>>* = nullptr>
2649
                friend constexpr counted_width_iterator operator+(
2650
                    ranges_std::iter_difference_t<Iter> n,
2651
                    const counted_width_iterator<Iter>& x)
2652
                {
2653
                    return x + n;
2654
                }
2655
2656
                template <typename Iter = It>
2657
                constexpr auto operator+=(difference_type n)
2658
                    -> std::enable_if_t<
2659
                        ranges_std::random_access_iterator<Iter>,
2660
                        counted_width_iterator&>
2661
                {
2662
                    // TODO
2663
                    m_current += n;
2664
                    m_count -= n;
2665
                    return *this;
2666
                }
2667
2668
                template <typename Iter = It>
2669
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2670
                    ranges_std::random_access_iterator<Iter>,
2671
                    counted_width_iterator>
2672
                {
2673
                    // TODO
2674
                    return counted_width_iterator(m_current - n, m_count + n);
2675
                }
2676
2677
                template <typename Iter = It,
2678
                          std::enable_if_t<ranges_std::random_access_iterator<
2679
                              Iter>>* = nullptr>
2680
                constexpr decltype(auto) operator[](difference_type n) const
2681
                {
2682
                    return m_current[n];
2683
                }
2684
#endif
2685
2686
    template <typename OtherIt, typename OtherS>
2687
    friend constexpr auto operator==(
2688
        const counted_width_iterator& a,
2689
        const counted_width_iterator<OtherIt, OtherS>& b)
2690
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2691
142k
    {
2692
142k
        return a.m_current == b.m_current;
2693
142k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
116k
    {
2692
116k
        return a.m_current == b.m_current;
2693
116k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
16.4k
    {
2692
16.4k
        return a.m_current == b.m_current;
2693
16.4k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
9.70k
    {
2692
9.70k
        return a.m_current == b.m_current;
2693
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2694
    template <typename OtherIt, typename OtherS>
2695
    friend constexpr auto operator!=(
2696
        const counted_width_iterator& a,
2697
        const counted_width_iterator<OtherIt, OtherS>& b)
2698
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2699
129k
    {
2700
129k
        return !(a == b);
2701
129k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
104k
    {
2700
104k
        return !(a == b);
2701
104k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
15.0k
    {
2700
15.0k
        return !(a == b);
2701
15.0k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
9.70k
    {
2700
9.70k
        return !(a == b);
2701
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2702
2703
    friend constexpr bool operator==(const counted_width_iterator& x,
2704
                                     ranges::default_sentinel_t)
2705
    {
2706
        return (x.count() == 0 && x.multibyte_left() == 0) ||
2707
               (x.count() == 1 && x.multibyte_left() == 0 &&
2708
                x.is_current_double_wide());
2709
    }
2710
    friend constexpr bool operator==(ranges::default_sentinel_t s,
2711
                                     const counted_width_iterator& x)
2712
    {
2713
        return x == s;
2714
    }
2715
2716
    friend constexpr bool operator!=(const counted_width_iterator& a,
2717
                                     ranges::default_sentinel_t b)
2718
    {
2719
        return !(a == b);
2720
    }
2721
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2722
                                     const counted_width_iterator& b)
2723
    {
2724
        return !(a == b);
2725
    }
2726
2727
    template <typename OtherIt, typename OtherS>
2728
    friend constexpr auto operator<(
2729
        const counted_width_iterator& a,
2730
        const counted_width_iterator<OtherIt, OtherS>& b)
2731
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2732
    {
2733
        if (a.count() == b.count()) {
2734
            return a.multibyte_left() > b.multibyte_left();
2735
        }
2736
2737
        return a.count() > b.count();
2738
    }
2739
2740
    template <typename OtherIt, typename OtherS>
2741
    friend constexpr auto operator>(
2742
        const counted_width_iterator& a,
2743
        const counted_width_iterator<OtherIt, OtherS>& b)
2744
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2745
    {
2746
        return !(b < a);
2747
    }
2748
2749
    template <typename OtherIt, typename OtherS>
2750
    friend constexpr auto operator<=(
2751
        const counted_width_iterator& a,
2752
        const counted_width_iterator<OtherIt, OtherS>& b)
2753
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2754
    {
2755
        return !(b < a);
2756
    }
2757
2758
    template <typename OtherIt, typename OtherS>
2759
    friend constexpr auto operator>=(
2760
        const counted_width_iterator& a,
2761
        const counted_width_iterator<OtherIt, OtherS>& b)
2762
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2763
    {
2764
        return !(a < b);
2765
    }
2766
2767
#if 0
2768
                template <typename OtherIt, typename OtherS>
2769
                friend constexpr auto operator-(
2770
                    const counted_width_iterator& a,
2771
                    const counted_width_iterator<OtherIt, OtherS>& b)
2772
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2773
                                        ranges_std::iter_difference_t<OtherIt>>
2774
                {
2775
                    // TODO
2776
                }
2777
2778
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2779
                    const counted_width_iterator& x,
2780
                    ranges_std::default_sentinel_t)
2781
                {
2782
                    // TODO
2783
                }
2784
2785
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2786
                    ranges_std::default_sentinel_t,
2787
                    const counted_width_iterator& x)
2788
                {
2789
                    // TODO
2790
                }
2791
#endif
2792
2793
#if 0
2794
                template <typename Iter = It>
2795
                constexpr auto operator-=(difference_type n)
2796
                    -> std::enable_if_t<
2797
                        ranges_std::random_access_iterator<Iter>,
2798
                        counted_width_iterator&>
2799
                {
2800
                    // TODO
2801
                    m_current -= n;
2802
                    m_count += n;
2803
                    return *this;
2804
                }
2805
#endif
2806
2807
private:
2808
    difference_type _get_cp_length_at_current() const
2809
157k
    {
2810
157k
        return static_cast<difference_type>(
2811
157k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
157k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
98.7k
    {
2810
98.7k
        return static_cast<difference_type>(
2811
98.7k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
98.7k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
45.9k
    {
2810
45.9k
        return static_cast<difference_type>(
2811
45.9k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
45.9k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
10.1k
    {
2810
10.1k
        return static_cast<difference_type>(
2811
10.1k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
10.1k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
2.83k
    {
2810
2.83k
        return static_cast<difference_type>(
2811
2.83k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
2.83k
    }
2813
2814
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2815
157k
    {
2816
157k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.70k
            return 0;
2818
1.70k
        }
2819
2820
156k
        if (cplen == 1) {
2821
115k
            SCN_EXPECT(m_current != m_end);
2822
115k
            auto cp = static_cast<char32_t>(*m_current);
2823
115k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
115k
        }
2825
2826
40.3k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
40.3k
                                           cplen);
2828
40.3k
        if (SCN_UNLIKELY(!r)) {
2829
422
            return 0;
2830
422
        }
2831
2832
39.8k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
39.8k
        return static_cast<difference_type>(calculate_text_width(
2834
39.8k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
40.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
98.7k
    {
2816
98.7k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.70k
            return 0;
2818
1.70k
        }
2819
2820
97.0k
        if (cplen == 1) {
2821
61.7k
            SCN_EXPECT(m_current != m_end);
2822
61.7k
            auto cp = static_cast<char32_t>(*m_current);
2823
61.7k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
61.7k
        }
2825
2826
35.2k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
35.2k
                                           cplen);
2828
35.2k
        if (SCN_UNLIKELY(!r)) {
2829
422
            return 0;
2830
422
        }
2831
2832
34.8k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
34.8k
        return static_cast<difference_type>(calculate_text_width(
2834
34.8k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
35.2k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
45.9k
    {
2816
45.9k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
45.9k
        if (cplen == 1) {
2821
45.9k
            SCN_EXPECT(m_current != m_end);
2822
45.9k
            auto cp = static_cast<char32_t>(*m_current);
2823
45.9k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
45.9k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
10.1k
    {
2816
10.1k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
10.1k
        if (cplen == 1) {
2821
5.16k
            SCN_EXPECT(m_current != m_end);
2822
5.16k
            auto cp = static_cast<char32_t>(*m_current);
2823
5.16k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
5.16k
        }
2825
2826
5.02k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
5.02k
                                           cplen);
2828
5.02k
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
5.02k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
5.02k
        return static_cast<difference_type>(calculate_text_width(
2834
5.02k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
5.02k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
2.83k
    {
2816
2.83k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
2.83k
        if (cplen == 1) {
2821
2.83k
            SCN_EXPECT(m_current != m_end);
2822
2.83k
            auto cp = static_cast<char32_t>(*m_current);
2823
2.83k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
2.83k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
2836
2837
    void _increment_current()
2838
235k
    {
2839
235k
        if (m_multibyte_left == 0) {
2840
142k
            auto cplen = _get_cp_length_at_current();
2841
142k
            m_multibyte_left = cplen - 1;
2842
142k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
142k
        }
2844
92.6k
        else {
2845
92.6k
            --m_multibyte_left;
2846
92.6k
        }
2847
2848
235k
        ++m_current;
2849
235k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2838
174k
    {
2839
174k
        if (m_multibyte_left == 0) {
2840
89.6k
            auto cplen = _get_cp_length_at_current();
2841
89.6k
            m_multibyte_left = cplen - 1;
2842
89.6k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
89.6k
        }
2844
85.2k
        else {
2845
85.2k
            --m_multibyte_left;
2846
85.2k
        }
2847
2848
174k
        ++m_current;
2849
174k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2838
42.1k
    {
2839
42.1k
        if (m_multibyte_left == 0) {
2840
42.1k
            auto cplen = _get_cp_length_at_current();
2841
42.1k
            m_multibyte_left = cplen - 1;
2842
42.1k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
42.1k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
42.1k
        ++m_current;
2849
42.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
15.9k
    {
2839
15.9k
        if (m_multibyte_left == 0) {
2840
8.58k
            auto cplen = _get_cp_length_at_current();
2841
8.58k
            m_multibyte_left = cplen - 1;
2842
8.58k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
8.58k
        }
2844
7.38k
        else {
2845
7.38k
            --m_multibyte_left;
2846
7.38k
        }
2847
2848
15.9k
        ++m_current;
2849
15.9k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
2.16k
    {
2839
2.16k
        if (m_multibyte_left == 0) {
2840
2.16k
            auto cplen = _get_cp_length_at_current();
2841
2.16k
            m_multibyte_left = cplen - 1;
2842
2.16k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
2.16k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
2.16k
        ++m_current;
2849
2.16k
    }
2850
2851
    void _decrement_current()
2852
0
    {
2853
0
        --m_current;
2854
2855
0
        auto cplen = _get_cp_length_at_current();
2856
0
        if (cplen == 0) {
2857
0
            ++m_multibyte_left;
2858
0
        }
2859
0
        else {
2860
0
            m_count += _get_width_at_current_cp_start(cplen);
2861
0
            m_multibyte_left = cplen - 1;
2862
0
        }
2863
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2864
2865
    It m_current{};
2866
    S m_end{};
2867
    difference_type m_count{0};
2868
    difference_type m_multibyte_left{0};
2869
};
2870
2871
template <typename I, typename S>
2872
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2873
    -> counted_width_iterator<I, S>;
2874
}  // namespace counted_width_iterator_impl
2875
2876
using counted_width_iterator_impl::counted_width_iterator;
2877
2878
template <typename View, typename = void>
2879
struct take_width_view_storage;
2880
2881
template <typename View>
2882
struct take_width_view_storage<View,
2883
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2884
24.2k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2884
12.5k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2884
5.97k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2884
3.72k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2884
1.93k
    take_width_view_storage(const View& v) : view(v) {}
2885
2886
    const View& get() const
2887
231k
    {
2888
231k
        return view;
2889
231k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2887
130k
    {
2888
130k
        return view;
2889
130k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2887
62.9k
    {
2888
62.9k
        return view;
2889
62.9k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2887
25.8k
    {
2888
25.8k
        return view;
2889
25.8k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2887
12.7k
    {
2888
12.7k
        return view;
2889
12.7k
    }
2890
2891
    View view;
2892
};
2893
2894
template <typename View>
2895
struct take_width_view_storage<
2896
    View,
2897
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2898
    take_width_view_storage(const View& v) : view(&v) {}
2899
2900
    const View& get() const
2901
    {
2902
        return *view;
2903
    }
2904
2905
    const View* view;
2906
};
2907
2908
template <typename View>
2909
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2910
    template <bool IsConst>
2911
    class sentinel {
2912
        friend class sentinel<!IsConst>;
2913
        using Base = std::conditional_t<IsConst, const View, View>;
2914
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2915
                                           ranges::sentinel_t<Base>>;
2916
        using underlying = ranges::sentinel_t<Base>;
2917
2918
    public:
2919
        constexpr sentinel() = default;
2920
2921
125k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2921
13.4k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2921
6.08k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2921
73.5k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2921
32.5k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2922
2923
        template <
2924
            typename S,
2925
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2926
            bool C = IsConst,
2927
            typename VV = View,
2928
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2929
                                                        underlying>>* = nullptr>
2930
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2931
        {
2932
        }
2933
2934
        constexpr underlying base() const
2935
        {
2936
            return m_end;
2937
        }
2938
2939
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2940
237k
        {
2941
237k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
237k
                   y.base() == x.m_end ||
2943
237k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
232k
                    y.is_current_double_wide());
2945
237k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2940
157k
        {
2941
157k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
157k
                   y.base() == x.m_end ||
2943
157k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
155k
                    y.is_current_double_wide());
2945
157k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2940
54.7k
        {
2941
54.7k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
54.7k
                   y.base() == x.m_end ||
2943
54.7k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
53.4k
                    y.is_current_double_wide());
2945
54.7k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2940
18.5k
        {
2941
18.5k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
18.5k
                   y.base() == x.m_end ||
2943
18.5k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
17.7k
                    y.is_current_double_wide());
2945
18.5k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2940
6.08k
        {
2941
6.08k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
6.08k
                   y.base() == x.m_end ||
2943
6.08k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
5.82k
                    y.is_current_double_wide());
2945
6.08k
        }
2946
2947
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2948
        {
2949
            return y == x;
2950
        }
2951
2952
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2953
120k
        {
2954
120k
            return !(y == x);
2955
120k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2953
80.4k
        {
2954
80.4k
            return !(y == x);
2955
80.4k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2953
28.3k
        {
2954
28.3k
            return !(y == x);
2955
28.3k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2953
8.44k
        {
2954
8.44k
            return !(y == x);
2955
8.44k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2953
2.83k
        {
2954
2.83k
            return !(y == x);
2955
2.83k
        }
2956
2957
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2958
        {
2959
            return !(y == x);
2960
        }
2961
2962
    private:
2963
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2964
    };
2965
2966
public:
2967
    using value_type = ranges::range_value_t<View>;
2968
2969
    take_width_view() = default;
2970
2971
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2972
24.2k
        : m_base(base), m_count(count)
2973
24.2k
    {
2974
24.2k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2972
12.5k
        : m_base(base), m_count(count)
2973
12.5k
    {
2974
12.5k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2972
5.97k
        : m_base(base), m_count(count)
2973
5.97k
    {
2974
5.97k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2972
3.72k
        : m_base(base), m_count(count)
2973
3.72k
    {
2974
3.72k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2972
1.93k
        : m_base(base), m_count(count)
2973
1.93k
    {
2974
1.93k
    }
2975
2976
    constexpr View base() const
2977
    {
2978
        return m_base;
2979
    }
2980
2981
    constexpr auto begin() const
2982
53.0k
    {
2983
53.0k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
53.0k
                                      m_count};
2985
53.0k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2982
28.3k
    {
2983
28.3k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
28.3k
                                      m_count};
2985
28.3k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2982
15.1k
    {
2983
15.1k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
15.1k
                                      m_count};
2985
15.1k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2982
6.20k
    {
2983
6.20k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
6.20k
                                      m_count};
2985
6.20k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2982
3.32k
    {
2983
3.32k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
3.32k
                                      m_count};
2985
3.32k
    }
2986
2987
    constexpr auto end() const
2988
125k
    {
2989
125k
        return sentinel<true>{m_base.get().end()};
2990
125k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2988
73.5k
    {
2989
73.5k
        return sentinel<true>{m_base.get().end()};
2990
73.5k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2988
32.5k
    {
2989
32.5k
        return sentinel<true>{m_base.get().end()};
2990
32.5k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2988
13.4k
    {
2989
13.4k
        return sentinel<true>{m_base.get().end()};
2990
13.4k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2988
6.08k
    {
2989
6.08k
        return sentinel<true>{m_base.get().end()};
2990
6.08k
    }
2991
2992
private:
2993
    take_width_view_storage<View> m_base{};
2994
    std::ptrdiff_t m_count{0};
2995
};
2996
2997
template <typename R>
2998
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2999
3000
struct _take_width_fn {
3001
    template <typename R>
3002
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
3003
        -> decltype(take_width_view{r, n})
3004
24.2k
    {
3005
24.2k
        return take_width_view{r, n};
3006
24.2k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
3004
12.5k
    {
3005
12.5k
        return take_width_view{r, n};
3006
12.5k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
3004
5.97k
    {
3005
5.97k
        return take_width_view{r, n};
3006
5.97k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
3004
3.72k
    {
3005
3.72k
        return take_width_view{r, n};
3006
3.72k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
3004
1.93k
    {
3005
1.93k
        return take_width_view{r, n};
3006
1.93k
    }
3007
};
3008
3009
inline constexpr _take_width_fn take_width{};
3010
}  // namespace impl
3011
3012
namespace ranges {
3013
template <typename R>
3014
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
3015
    enable_borrowed_range<R>;
3016
}
3017
3018
/////////////////////////////////////////////////////////////////
3019
// contiguous_scan_context
3020
/////////////////////////////////////////////////////////////////
3021
3022
template <typename CharT>
3023
class basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>
3024
    : public detail::scan_context_base<basic_scan_args<
3025
          basic_scan_context<detail::buffer_range_tag, CharT>>> {
3026
    using base = detail::scan_context_base<
3027
        basic_scan_args<basic_scan_context<detail::buffer_range_tag, CharT>>>;
3028
3029
    using parent_context_type =
3030
        basic_scan_context<detail::buffer_range_tag, CharT>;
3031
    using args_type = basic_scan_args<parent_context_type>;
3032
    using arg_type = basic_scan_arg<parent_context_type>;
3033
3034
public:
3035
    using char_type = CharT;
3036
    using range_type = ranges::subrange<const char_type*, const char_type*>;
3037
    using iterator = const char_type*;
3038
    using sentinel = const char_type*;
3039
    using parse_context_type = basic_scan_parse_context<char_type>;
3040
3041
    template <typename Range,
3042
              std::enable_if_t<ranges::contiguous_range<Range> &&
3043
                               ranges::borrowed_range<Range>>* = nullptr>
3044
    constexpr basic_scan_context(Range&& r,
3045
                                 args_type a,
3046
                                 detail::locale_ref loc = {})
3047
165k
        : base(SCN_MOVE(a), loc),
3048
165k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
165k
          m_current(m_range.begin())
3050
165k
    {
3051
165k
    }
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2INSt3__117basic_string_viewIcNSB_11char_traitsIcEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSO_10locale_refE
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2INSt3__117basic_string_viewIwNSB_11char_traitsIwEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSO_10locale_refE
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSL_10locale_refE
Line
Count
Source
3047
55.0k
        : base(SCN_MOVE(a), loc),
3048
55.0k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
55.0k
          m_current(m_range.begin())
3050
55.0k
    {
3051
55.0k
    }
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSL_10locale_refE
Line
Count
Source
3047
110k
        : base(SCN_MOVE(a), loc),
3048
110k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
110k
          m_current(m_range.begin())
3050
110k
    {
3051
110k
    }
3052
3053
    constexpr iterator begin() const
3054
226M
    {
3055
226M
        return m_current;
3056
226M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin() const
Line
Count
Source
3054
166k
    {
3055
166k
        return m_current;
3056
166k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin() const
Line
Count
Source
3054
226M
    {
3055
226M
        return m_current;
3056
226M
    }
3057
3058
    constexpr sentinel end() const
3059
451M
    {
3060
451M
        return m_range.end();
3061
451M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::end() const
Line
Count
Source
3059
180k
    {
3060
180k
        return m_range.end();
3061
180k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::end() const
Line
Count
Source
3059
451M
    {
3060
451M
        return m_range.end();
3061
451M
    }
3062
3063
    constexpr auto range() const
3064
117k
    {
3065
117k
        return ranges::subrange{begin(), end()};
3066
117k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::range() const
Line
Count
Source
3064
40.5k
    {
3065
40.5k
        return ranges::subrange{begin(), end()};
3066
40.5k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::range() const
Line
Count
Source
3064
77.2k
    {
3065
77.2k
        return ranges::subrange{begin(), end()};
3066
77.2k
    }
3067
3068
    constexpr auto underlying_range() const
3069
0
    {
3070
0
        return m_range;
3071
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::underlying_range() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::underlying_range() const
3072
3073
    void advance_to(iterator it)
3074
225M
    {
3075
225M
        SCN_EXPECT(it <= end());
3076
225M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
225M
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
225M
        }
3081
225M
        m_current = SCN_MOVE(it);
3082
225M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(char const*)
Line
Count
Source
3074
70.5k
    {
3075
70.5k
        SCN_EXPECT(it <= end());
3076
70.5k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
70.5k
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
70.5k
        }
3081
70.5k
        m_current = SCN_MOVE(it);
3082
70.5k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
3074
225M
    {
3075
225M
        SCN_EXPECT(it <= end());
3076
225M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
225M
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
225M
        }
3081
225M
        m_current = SCN_MOVE(it);
3082
225M
    }
3083
3084
    void advance_to(const typename parent_context_type::iterator& it)
3085
0
    {
3086
0
        SCN_EXPECT(it.position() <=
3087
0
                   static_cast<std::ptrdiff_t>(m_range.size()));
3088
0
        m_current = m_range.begin() + it.position();
3089
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
3090
3091
    std::ptrdiff_t begin_position()
3092
0
    {
3093
0
        return ranges::distance(m_range.begin(), begin());
3094
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin_position()
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin_position()
3095
3096
private:
3097
    range_type m_range;
3098
    iterator m_current;
3099
};
3100
3101
namespace impl {
3102
template <typename CharT>
3103
using basic_contiguous_scan_context =
3104
    basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>;
3105
3106
struct reader_error_handler {
3107
    constexpr void on_error(const char* msg)
3108
17.0k
    {
3109
17.0k
        SCN_UNLIKELY_ATTR
3110
17.0k
        m_msg = msg;
3111
17.0k
    }
3112
    explicit constexpr operator bool() const
3113
36.6k
    {
3114
36.6k
        return m_msg == nullptr;
3115
36.6k
    }
3116
3117
    const char* m_msg{nullptr};
3118
};
3119
3120
/////////////////////////////////////////////////////////////////
3121
// General reading support
3122
/////////////////////////////////////////////////////////////////
3123
3124
template <typename SourceRange>
3125
auto skip_classic_whitespace(const SourceRange& range,
3126
                             bool allow_exhaustion = false)
3127
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
3128
18.9k
{
3129
18.9k
    if (!allow_exhaustion) {
3130
17.3k
        auto it = read_while_classic_space(range);
3131
17.3k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
17.3k
            SCN_UNLIKELY(!e)) {
3133
370
            return unexpected(e);
3134
370
        }
3135
3136
17.0k
        return it;
3137
17.3k
    }
3138
3139
1.61k
    return read_while_classic_space(range);
3140
18.9k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
606
{
3129
606
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
606
    return read_while_classic_space(range);
3140
606
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
6.98k
{
3129
6.98k
    if (!allow_exhaustion) {
3130
6.82k
        auto it = read_while_classic_space(range);
3131
6.82k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
6.82k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
6.82k
        return it;
3137
6.82k
    }
3138
3139
164
    return read_while_classic_space(range);
3140
6.98k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
460
{
3129
460
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
460
    return read_while_classic_space(range);
3140
460
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
7.07k
{
3129
7.07k
    if (!allow_exhaustion) {
3130
6.69k
        auto it = read_while_classic_space(range);
3131
6.69k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
6.69k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
6.69k
        return it;
3137
6.69k
    }
3138
3139
382
    return read_while_classic_space(range);
3140
7.07k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
2.47k
{
3129
2.47k
    if (!allow_exhaustion) {
3130
2.47k
        auto it = read_while_classic_space(range);
3131
2.47k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
2.47k
            SCN_UNLIKELY(!e)) {
3133
254
            return unexpected(e);
3134
254
        }
3135
3136
2.22k
        return it;
3137
2.47k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
2.47k
}
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
1.38k
{
3129
1.38k
    if (!allow_exhaustion) {
3130
1.38k
        auto it = read_while_classic_space(range);
3131
1.38k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
1.38k
            SCN_UNLIKELY(!e)) {
3133
116
            return unexpected(e);
3134
116
        }
3135
3136
1.27k
        return it;
3137
1.38k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
1.38k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
3141
3142
template <typename SourceCharT, typename DestCharT>
3143
scan_expected<void> transcode_impl(std::basic_string_view<SourceCharT> src,
3144
                                   std::basic_string<DestCharT>& dst)
3145
2.86k
{
3146
2.86k
    dst.clear();
3147
2.86k
    transcode_valid_to_string(src, dst);
3148
2.86k
    return {};
3149
2.86k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3145
1.70k
{
3146
1.70k
    dst.clear();
3147
1.70k
    transcode_valid_to_string(src, dst);
3148
1.70k
    return {};
3149
1.70k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3145
1.15k
{
3146
1.15k
    dst.clear();
3147
1.15k
    transcode_valid_to_string(src, dst);
3148
1.15k
    return {};
3149
1.15k
}
3150
3151
template <typename SourceCharT, typename DestCharT>
3152
scan_expected<void> transcode_if_necessary(
3153
    const contiguous_range_factory<SourceCharT>& source,
3154
    std::basic_string<DestCharT>& dest)
3155
{
3156
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3157
        dest.assign(source.view());
3158
    }
3159
    else {
3160
        return transcode_impl(source.view(), dest);
3161
    }
3162
3163
    return {};
3164
}
3165
3166
template <typename SourceCharT, typename DestCharT>
3167
scan_expected<void> transcode_if_necessary(
3168
    contiguous_range_factory<SourceCharT>&& source,
3169
    std::basic_string<DestCharT>& dest)
3170
1.58k
{
3171
1.58k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
792
        if (source.stores_allocated_string()) {
3173
792
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
792
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
792
    else {
3180
792
        return transcode_impl(source.view(), dest);
3181
792
    }
3182
3183
0
    return {};
3184
1.58k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
482
{
3171
482
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
482
        if (source.stores_allocated_string()) {
3173
482
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
482
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
482
    return {};
3184
482
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
482
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
482
    else {
3180
482
        return transcode_impl(source.view(), dest);
3181
482
    }
3182
3183
0
    return {};
3184
482
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
310
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
310
    else {
3180
310
        return transcode_impl(source.view(), dest);
3181
310
    }
3182
3183
0
    return {};
3184
310
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
310
{
3171
310
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
310
        if (source.stores_allocated_string()) {
3173
310
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
310
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
310
    return {};
3184
310
}
3185
3186
template <typename SourceCharT, typename DestCharT>
3187
scan_expected<void> transcode_if_necessary(
3188
    string_view_wrapper<SourceCharT> source,
3189
    std::basic_string<DestCharT>& dest)
3190
4.13k
{
3191
4.13k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
2.06k
        dest.assign(source.view());
3193
    }
3194
2.06k
    else {
3195
2.06k
        return transcode_impl(source.view(), dest);
3196
2.06k
    }
3197
3198
0
    return {};
3199
4.13k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
1.22k
{
3191
1.22k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
1.22k
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
1.22k
    return {};
3199
1.22k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
1.22k
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
1.22k
    else {
3195
1.22k
        return transcode_impl(source.view(), dest);
3196
1.22k
    }
3197
3198
0
    return {};
3199
1.22k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
846
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
846
    else {
3195
846
        return transcode_impl(source.view(), dest);
3196
846
    }
3197
3198
0
    return {};
3199
846
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
846
{
3191
846
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
846
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
846
    return {};
3199
846
}
3200
3201
/////////////////////////////////////////////////////////////////
3202
// Reader base classes etc.
3203
/////////////////////////////////////////////////////////////////
3204
3205
template <typename Derived, typename CharT>
3206
class reader_base {
3207
public:
3208
    using char_type = CharT;
3209
3210
    constexpr reader_base() = default;
3211
3212
    bool skip_ws_before_read() const
3213
10.9k
    {
3214
10.9k
        return true;
3215
10.9k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
2.72k
    {
3214
2.72k
        return true;
3215
2.72k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.37k
    {
3214
1.37k
        return true;
3215
1.37k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
2.55k
    {
3214
2.55k
        return true;
3215
2.55k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
1.28k
    {
3214
1.28k
        return true;
3215
1.28k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.62k
    {
3214
1.62k
        return true;
3215
1.62k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
1.39k
    {
3214
1.39k
        return true;
3215
1.39k
    }
3216
3217
    scan_expected<void> check_specs(const detail::format_specs& specs)
3218
28.5k
    {
3219
28.5k
        reader_error_handler eh{};
3220
28.5k
        get_derived().check_specs_impl(specs, eh);
3221
28.5k
        if (SCN_UNLIKELY(!eh)) {
3222
11.5k
            return detail::unexpected_scan_error(
3223
11.5k
                scan_error::invalid_format_string, eh.m_msg);
3224
11.5k
        }
3225
17.0k
        return {};
3226
28.5k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
5.59k
    {
3219
5.59k
        reader_error_handler eh{};
3220
5.59k
        get_derived().check_specs_impl(specs, eh);
3221
5.59k
        if (SCN_UNLIKELY(!eh)) {
3222
4.14k
            return detail::unexpected_scan_error(
3223
4.14k
                scan_error::invalid_format_string, eh.m_msg);
3224
4.14k
        }
3225
1.45k
        return {};
3226
5.59k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.79k
    {
3219
2.79k
        reader_error_handler eh{};
3220
2.79k
        get_derived().check_specs_impl(specs, eh);
3221
2.79k
        if (SCN_UNLIKELY(!eh)) {
3222
2.05k
            return detail::unexpected_scan_error(
3223
2.05k
                scan_error::invalid_format_string, eh.m_msg);
3224
2.05k
        }
3225
738
        return {};
3226
2.79k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
8.26k
    {
3219
8.26k
        reader_error_handler eh{};
3220
8.26k
        get_derived().check_specs_impl(specs, eh);
3221
8.26k
        if (SCN_UNLIKELY(!eh)) {
3222
432
            return detail::unexpected_scan_error(
3223
432
                scan_error::invalid_format_string, eh.m_msg);
3224
432
        }
3225
7.83k
        return {};
3226
8.26k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.66k
    {
3219
2.66k
        reader_error_handler eh{};
3220
2.66k
        get_derived().check_specs_impl(specs, eh);
3221
2.66k
        if (SCN_UNLIKELY(!eh)) {
3222
1.28k
            return detail::unexpected_scan_error(
3223
1.28k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.28k
        }
3225
1.37k
        return {};
3226
2.66k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.33k
    {
3219
1.33k
        reader_error_handler eh{};
3220
1.33k
        get_derived().check_specs_impl(specs, eh);
3221
1.33k
        if (SCN_UNLIKELY(!eh)) {
3222
650
            return detail::unexpected_scan_error(
3223
650
                scan_error::invalid_format_string, eh.m_msg);
3224
650
        }
3225
682
        return {};
3226
1.33k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
3.81k
    {
3219
3.81k
        reader_error_handler eh{};
3220
3.81k
        get_derived().check_specs_impl(specs, eh);
3221
3.81k
        if (SCN_UNLIKELY(!eh)) {
3222
630
            return detail::unexpected_scan_error(
3223
630
                scan_error::invalid_format_string, eh.m_msg);
3224
630
        }
3225
3.18k
        return {};
3226
3.81k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.79k
    {
3219
2.79k
        reader_error_handler eh{};
3220
2.79k
        get_derived().check_specs_impl(specs, eh);
3221
2.79k
        if (SCN_UNLIKELY(!eh)) {
3222
1.81k
            return detail::unexpected_scan_error(
3223
1.81k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.81k
        }
3225
986
        return {};
3226
2.79k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.33k
    {
3219
1.33k
        reader_error_handler eh{};
3220
1.33k
        get_derived().check_specs_impl(specs, eh);
3221
1.33k
        if (SCN_UNLIKELY(!eh)) {
3222
530
            return detail::unexpected_scan_error(
3223
530
                scan_error::invalid_format_string, eh.m_msg);
3224
530
        }
3225
802
        return {};
3226
1.33k
    }
3227
3228
private:
3229
    Derived& get_derived()
3230
28.5k
    {
3231
28.5k
        return static_cast<Derived&>(*this);
3232
28.5k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3230
5.59k
    {
3231
5.59k
        return static_cast<Derived&>(*this);
3232
5.59k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3230
2.79k
    {
3231
2.79k
        return static_cast<Derived&>(*this);
3232
2.79k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3230
8.26k
    {
3231
8.26k
        return static_cast<Derived&>(*this);
3232
8.26k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
2.66k
    {
3231
2.66k
        return static_cast<Derived&>(*this);
3232
2.66k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.33k
    {
3231
1.33k
        return static_cast<Derived&>(*this);
3232
1.33k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
3.81k
    {
3231
3.81k
        return static_cast<Derived&>(*this);
3232
3.81k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3230
2.79k
    {
3231
2.79k
        return static_cast<Derived&>(*this);
3232
2.79k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.33k
    {
3231
1.33k
        return static_cast<Derived&>(*this);
3232
1.33k
    }
3233
    const Derived& get_derived() const
3234
    {
3235
        return static_cast<const Derived&>(*this);
3236
    }
3237
};
3238
3239
template <typename CharT>
3240
class reader_impl_for_monostate {
3241
public:
3242
    constexpr reader_impl_for_monostate() = default;
3243
3244
    bool skip_ws_before_read() const
3245
0
    {
3246
0
        return true;
3247
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3248
3249
    static scan_expected<void> check_specs(const detail::format_specs&)
3250
0
    {
3251
0
        SCN_EXPECT(false);
3252
0
        SCN_UNREACHABLE;
3253
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::check_specs(scn::v4::detail::format_specs const&)
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
3254
3255
    template <typename Range>
3256
    auto read_default(Range, monostate&, detail::locale_ref)
3257
        -> scan_expected<ranges::const_iterator_t<Range>>
3258
0
    {
3259
0
        SCN_EXPECT(false);
3260
0
        SCN_UNREACHABLE;
3261
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3262
3263
    template <typename Range>
3264
    auto read_specs(Range,
3265
                    const detail::format_specs&,
3266
                    monostate&,
3267
                    detail::locale_ref)
3268
        -> scan_expected<ranges::const_iterator_t<Range>>
3269
0
    {
3270
0
        SCN_EXPECT(false);
3271
0
        SCN_UNREACHABLE;
3272
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3273
};
3274
3275
/////////////////////////////////////////////////////////////////
3276
// Numeric reader support
3277
/////////////////////////////////////////////////////////////////
3278
3279
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3280
3281
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3282
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3283
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3284
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3285
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3286
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3287
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3288
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3289
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3290
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3291
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3292
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3293
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3294
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3295
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3296
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3297
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3298
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3299
    255};
3300
3301
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3302
17.5k
{
3303
17.5k
    return char_to_int_table[static_cast<unsigned char>(ch)];
3304
17.5k
}
3305
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3306
8.44k
{
3307
8.44k
#if WCHAR_MIN < 0
3308
8.44k
    if (ch >= 0 && ch <= 255) {
3309
#else
3310
    if (ch <= 255) {
3311
#endif
3312
8.34k
        return char_to_int(static_cast<char>(ch));
3313
8.34k
    }
3314
102
    return 255;
3315
8.44k
}
3316
3317
template <typename Range>
3318
auto parse_numeric_sign(Range range)
3319
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3320
9.95k
{
3321
9.95k
    auto r = read_one_of_code_unit(range, "+-");
3322
9.95k
    if (!r) {
3323
9.95k
        if (r.error() == parse_error::error) {
3324
9.95k
            return std::pair{range.begin(), sign_type::default_sign};
3325
9.95k
        }
3326
0
        return unexpected(eof_error::eof);
3327
9.95k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
1.52k
{
3321
1.52k
    auto r = read_one_of_code_unit(range, "+-");
3322
1.52k
    if (!r) {
3323
1.52k
        if (r.error() == parse_error::error) {
3324
1.52k
            return std::pair{range.begin(), sign_type::default_sign};
3325
1.52k
        }
3326
0
        return unexpected(eof_error::eof);
3327
1.52k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
3.75k
{
3321
3.75k
    auto r = read_one_of_code_unit(range, "+-");
3322
3.75k
    if (!r) {
3323
3.75k
        if (r.error() == parse_error::error) {
3324
3.75k
            return std::pair{range.begin(), sign_type::default_sign};
3325
3.75k
        }
3326
0
        return unexpected(eof_error::eof);
3327
3.75k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
866
{
3321
866
    auto r = read_one_of_code_unit(range, "+-");
3322
866
    if (!r) {
3323
866
        if (r.error() == parse_error::error) {
3324
866
            return std::pair{range.begin(), sign_type::default_sign};
3325
866
        }
3326
0
        return unexpected(eof_error::eof);
3327
866
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
3.80k
{
3321
3.80k
    auto r = read_one_of_code_unit(range, "+-");
3322
3.80k
    if (!r) {
3323
3.80k
        if (r.error() == parse_error::error) {
3324
3.80k
            return std::pair{range.begin(), sign_type::default_sign};
3325
3.80k
        }
3326
0
        return unexpected(eof_error::eof);
3327
3.80k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
3335
3336
template <typename CharT>
3337
class numeric_reader {
3338
public:
3339
    contiguous_range_factory<CharT> m_buffer{};
3340
};
3341
3342
/////////////////////////////////////////////////////////////////
3343
// Integer reader
3344
/////////////////////////////////////////////////////////////////
3345
3346
template <typename Iterator>
3347
struct parse_integer_prefix_result {
3348
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3349
    int parsed_base{0};
3350
    sign_type sign{sign_type::default_sign};
3351
    bool is_zero{false};
3352
};
3353
3354
template <typename Range>
3355
auto parse_integer_bin_base_prefix(Range range)
3356
    -> parse_expected<ranges::const_iterator_t<Range>>
3357
212
{
3358
212
    return read_matching_string_classic_nocase(range, "0b");
3359
212
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
40
{
3358
40
    return read_matching_string_classic_nocase(range, "0b");
3359
40
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
22
{
3358
22
    return read_matching_string_classic_nocase(range, "0b");
3359
22
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
58
{
3358
58
    return read_matching_string_classic_nocase(range, "0b");
3359
58
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
92
{
3358
92
    return read_matching_string_classic_nocase(range, "0b");
3359
92
}
3360
3361
template <typename Range>
3362
auto parse_integer_hex_base_prefix(Range range)
3363
    -> parse_expected<ranges::const_iterator_t<Range>>
3364
2.49k
{
3365
2.49k
    return read_matching_string_classic_nocase(range, "0x");
3366
2.49k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
386
{
3365
386
    return read_matching_string_classic_nocase(range, "0x");
3366
386
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
940
{
3365
940
    return read_matching_string_classic_nocase(range, "0x");
3366
940
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
228
{
3365
228
    return read_matching_string_classic_nocase(range, "0x");
3366
228
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
938
{
3365
938
    return read_matching_string_classic_nocase(range, "0x");
3366
938
}
3367
3368
template <typename Range>
3369
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3370
    -> parse_expected<ranges::const_iterator_t<Range>>
3371
198
{
3372
198
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
198
    if (auto r = read_matching_code_unit(range, '0')) {
3377
34
        zero_parsed = true;
3378
34
        return *r;
3379
34
    }
3380
3381
164
    return unexpected(parse_error::error);
3382
198
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
40
{
3372
40
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
40
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
40
    return unexpected(parse_error::error);
3382
40
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
42
{
3372
42
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
42
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
42
    return unexpected(parse_error::error);
3382
42
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
68
{
3372
68
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
68
    if (auto r = read_matching_code_unit(range, '0')) {
3377
18
        zero_parsed = true;
3378
18
        return *r;
3379
18
    }
3380
3381
50
    return unexpected(parse_error::error);
3382
68
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
48
{
3372
48
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
48
    if (auto r = read_matching_code_unit(range, '0')) {
3377
16
        zero_parsed = true;
3378
16
        return *r;
3379
16
    }
3380
3381
32
    return unexpected(parse_error::error);
3382
48
}
3383
3384
template <typename Range>
3385
auto parse_integer_base_prefix_for_detection(Range range)
3386
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3387
112
{
3388
112
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
112
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
112
    {
3395
112
        bool zero_parsed{false};
3396
112
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
22
            return {*r, 8, zero_parsed};
3398
22
        }
3399
112
    }
3400
90
    return {range.begin(), 10, false};
3401
112
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
26
{
3388
26
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
26
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
26
    {
3395
26
        bool zero_parsed{false};
3396
26
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
26
    }
3400
26
    return {range.begin(), 10, false};
3401
26
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
16
{
3388
16
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
16
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
16
    {
3395
16
        bool zero_parsed{false};
3396
16
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
16
    }
3400
16
    return {range.begin(), 10, false};
3401
16
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
38
{
3388
38
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
38
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
38
    {
3395
38
        bool zero_parsed{false};
3396
38
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
12
            return {*r, 8, zero_parsed};
3398
12
        }
3399
38
    }
3400
26
    return {range.begin(), 10, false};
3401
38
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
32
{
3388
32
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
32
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
32
    {
3395
32
        bool zero_parsed{false};
3396
32
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
10
            return {*r, 8, zero_parsed};
3398
10
        }
3399
32
    }
3400
22
    return {range.begin(), 10, false};
3401
32
}
3402
3403
template <typename Range>
3404
auto parse_integer_base_prefix(Range range, int base)
3405
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3406
7.44k
{
3407
7.44k
    switch (base) {
3408
100
        case 2:
3409
            // allow 0b/0B
3410
100
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
100
                    false};
3412
3413
86
        case 8: {
3414
            // allow 0o/0O/0
3415
86
            bool zero_parsed = false;
3416
86
            auto it = apply_opt(
3417
86
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
86
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
2.38k
        case 16:
3422
            // allow 0x/0X
3423
2.38k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
2.38k
                    false};
3425
3426
112
        case 0:
3427
            // detect base
3428
112
            return parse_integer_base_prefix_for_detection(range);
3429
3430
4.77k
        default:
3431
            // no base prefix allowed
3432
4.77k
            return {range.begin(), base, false};
3433
7.44k
    }
3434
7.44k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
1.13k
{
3407
1.13k
    switch (base) {
3408
14
        case 2:
3409
            // allow 0b/0B
3410
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
14
                    false};
3412
3413
14
        case 8: {
3414
            // allow 0o/0O/0
3415
14
            bool zero_parsed = false;
3416
14
            auto it = apply_opt(
3417
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
14
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
360
        case 16:
3422
            // allow 0x/0X
3423
360
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
360
                    false};
3425
3426
26
        case 0:
3427
            // detect base
3428
26
            return parse_integer_base_prefix_for_detection(range);
3429
3430
724
        default:
3431
            // no base prefix allowed
3432
724
            return {range.begin(), base, false};
3433
1.13k
    }
3434
1.13k
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
2.81k
{
3407
2.81k
    switch (base) {
3408
6
        case 2:
3409
            // allow 0b/0B
3410
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
6
                    false};
3412
3413
26
        case 8: {
3414
            // allow 0o/0O/0
3415
26
            bool zero_parsed = false;
3416
26
            auto it = apply_opt(
3417
26
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
26
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
924
        case 16:
3422
            // allow 0x/0X
3423
924
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
924
                    false};
3425
3426
16
        case 0:
3427
            // detect base
3428
16
            return parse_integer_base_prefix_for_detection(range);
3429
3430
1.84k
        default:
3431
            // no base prefix allowed
3432
1.84k
            return {range.begin(), base, false};
3433
2.81k
    }
3434
2.81k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
656
{
3407
656
    switch (base) {
3408
20
        case 2:
3409
            // allow 0b/0B
3410
20
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
20
                    false};
3412
3413
30
        case 8: {
3414
            // allow 0o/0O/0
3415
30
            bool zero_parsed = false;
3416
30
            auto it = apply_opt(
3417
30
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
30
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
190
        case 16:
3422
            // allow 0x/0X
3423
190
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
190
                    false};
3425
3426
38
        case 0:
3427
            // detect base
3428
38
            return parse_integer_base_prefix_for_detection(range);
3429
3430
378
        default:
3431
            // no base prefix allowed
3432
378
            return {range.begin(), base, false};
3433
656
    }
3434
656
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
2.84k
{
3407
2.84k
    switch (base) {
3408
60
        case 2:
3409
            // allow 0b/0B
3410
60
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
60
                    false};
3412
3413
16
        case 8: {
3414
            // allow 0o/0O/0
3415
16
            bool zero_parsed = false;
3416
16
            auto it = apply_opt(
3417
16
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
16
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
906
        case 16:
3422
            // allow 0x/0X
3423
906
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
906
                    false};
3425
3426
32
        case 0:
3427
            // detect base
3428
32
            return parse_integer_base_prefix_for_detection(range);
3429
3430
1.82k
        default:
3431
            // no base prefix allowed
3432
1.82k
            return {range.begin(), base, false};
3433
2.84k
    }
3434
2.84k
}
3435
3436
template <typename Range>
3437
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3438
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3439
7.44k
{
3440
7.44k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
7.44k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
7.44k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
7.44k
        parse_integer_base_prefix(
3445
7.44k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
7.44k
    if (parsed_zero) {
3448
34
        if (digits_begin_it == range.end() ||
3449
34
            char_to_int(*digits_begin_it) >= 8) {
3450
34
            digits_begin_it = base_prefix_begin_it;
3451
34
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
34
    }
3456
7.41k
    else {
3457
7.41k
        if (digits_begin_it == range.end() ||
3458
7.41k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
7.22k
            digits_begin_it = base_prefix_begin_it;
3460
7.22k
        }
3461
7.41k
    }
3462
3463
7.44k
    if (sign == sign_type::default_sign) {
3464
7.44k
        sign = sign_type::plus_sign;
3465
7.44k
    }
3466
7.44k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
7.44k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
7.44k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
1.13k
{
3440
1.13k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
1.13k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
1.13k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
1.13k
        parse_integer_base_prefix(
3445
1.13k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
1.13k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
1.13k
    else {
3457
1.13k
        if (digits_begin_it == range.end() ||
3458
1.13k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
1.13k
            digits_begin_it = base_prefix_begin_it;
3460
1.13k
        }
3461
1.13k
    }
3462
3463
1.13k
    if (sign == sign_type::default_sign) {
3464
1.13k
        sign = sign_type::plus_sign;
3465
1.13k
    }
3466
1.13k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
1.13k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
1.13k
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
2.81k
{
3440
2.81k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
2.81k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
2.81k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
2.81k
        parse_integer_base_prefix(
3445
2.81k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
2.81k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
2.81k
    else {
3457
2.81k
        if (digits_begin_it == range.end() ||
3458
2.81k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
2.81k
            digits_begin_it = base_prefix_begin_it;
3460
2.81k
        }
3461
2.81k
    }
3462
3463
2.81k
    if (sign == sign_type::default_sign) {
3464
2.81k
        sign = sign_type::plus_sign;
3465
2.81k
    }
3466
2.81k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
2.81k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
2.81k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
656
{
3440
656
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
656
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
656
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
656
        parse_integer_base_prefix(
3445
656
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
656
    if (parsed_zero) {
3448
18
        if (digits_begin_it == range.end() ||
3449
18
            char_to_int(*digits_begin_it) >= 8) {
3450
18
            digits_begin_it = base_prefix_begin_it;
3451
18
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
18
    }
3456
638
    else {
3457
638
        if (digits_begin_it == range.end() ||
3458
638
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
592
            digits_begin_it = base_prefix_begin_it;
3460
592
        }
3461
638
    }
3462
3463
656
    if (sign == sign_type::default_sign) {
3464
656
        sign = sign_type::plus_sign;
3465
656
    }
3466
656
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
656
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
656
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
2.84k
{
3440
2.84k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
2.84k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
2.84k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
2.84k
        parse_integer_base_prefix(
3445
2.84k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
2.84k
    if (parsed_zero) {
3448
16
        if (digits_begin_it == range.end() ||
3449
16
            char_to_int(*digits_begin_it) >= 8) {
3450
16
            digits_begin_it = base_prefix_begin_it;
3451
16
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
16
    }
3456
2.82k
    else {
3457
2.82k
        if (digits_begin_it == range.end() ||
3458
2.82k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
2.67k
            digits_begin_it = base_prefix_begin_it;
3460
2.67k
        }
3461
2.82k
    }
3462
3463
2.84k
    if (sign == sign_type::default_sign) {
3464
2.84k
        sign = sign_type::plus_sign;
3465
2.84k
    }
3466
2.84k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
2.84k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
2.84k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
3469
3470
template <typename Range>
3471
auto parse_integer_digits_without_thsep(Range range, int base)
3472
    -> scan_expected<ranges::const_iterator_t<Range>>
3473
7.27k
{
3474
7.27k
    SCN_UNUSED(base);
3475
7.27k
    using char_type = detail::char_t<Range>;
3476
3477
7.27k
    if constexpr (ranges::contiguous_range<Range>) {
3478
5.57k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
5.57k
        return range.end();
3484
    }
3485
1.70k
    else {
3486
1.70k
        return read_while1_code_unit(range,
3487
1.72k
                                     [&](char_type ch) noexcept {
3488
1.72k
                                         return char_to_int(ch) < base;
3489
1.72k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3487
1.11k
                                     [&](char_type ch) noexcept {
3488
1.11k
                                         return char_to_int(ch) < base;
3489
1.11k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3487
610
                                     [&](char_type ch) noexcept {
3488
610
                                         return char_to_int(ch) < base;
3489
610
                                     })
3490
1.70k
            .transform_error(map_parse_error_to_scan_error(
3491
1.70k
                scan_error::invalid_scanned_value,
3492
1.70k
                "Failed to parse integer: No digits found"));
3493
1.70k
    }
3494
7.27k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
1.11k
{
3474
1.11k
    SCN_UNUSED(base);
3475
1.11k
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
1.11k
    else {
3486
1.11k
        return read_while1_code_unit(range,
3487
1.11k
                                     [&](char_type ch) noexcept {
3488
1.11k
                                         return char_to_int(ch) < base;
3489
1.11k
                                     })
3490
1.11k
            .transform_error(map_parse_error_to_scan_error(
3491
1.11k
                scan_error::invalid_scanned_value,
3492
1.11k
                "Failed to parse integer: No digits found"));
3493
1.11k
    }
3494
1.11k
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
2.79k
{
3474
2.79k
    SCN_UNUSED(base);
3475
2.79k
    using char_type = detail::char_t<Range>;
3476
3477
2.79k
    if constexpr (ranges::contiguous_range<Range>) {
3478
2.79k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
2.79k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
2.79k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
586
{
3474
586
    SCN_UNUSED(base);
3475
586
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
586
    else {
3486
586
        return read_while1_code_unit(range,
3487
586
                                     [&](char_type ch) noexcept {
3488
586
                                         return char_to_int(ch) < base;
3489
586
                                     })
3490
586
            .transform_error(map_parse_error_to_scan_error(
3491
586
                scan_error::invalid_scanned_value,
3492
586
                "Failed to parse integer: No digits found"));
3493
586
    }
3494
586
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
2.77k
{
3474
2.77k
    SCN_UNUSED(base);
3475
2.77k
    using char_type = detail::char_t<Range>;
3476
3477
2.77k
    if constexpr (ranges::contiguous_range<Range>) {
3478
2.77k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
2.77k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
2.77k
}
3495
3496
template <typename Range, typename CharT>
3497
auto parse_integer_digits_with_thsep(
3498
    Range range,
3499
    int base,
3500
    const localized_number_formatting_options<CharT>& locale_options)
3501
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3502
                                std::basic_string<CharT>,
3503
                                std::string>>
3504
144
{
3505
144
    std::basic_string<CharT> output;
3506
144
    std::string thsep_indices;
3507
144
    auto it = range.begin();
3508
144
    bool digit_matched = false;
3509
160
    for (; it != range.end(); ++it) {
3510
156
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
156
        else if (char_to_int(*it) >= base) {
3515
140
            break;
3516
140
        }
3517
16
        else {
3518
16
            output.push_back(*it);
3519
16
            digit_matched = true;
3520
16
        }
3521
156
    }
3522
144
    if (SCN_UNLIKELY(!digit_matched)) {
3523
128
        return detail::unexpected_scan_error(
3524
128
            scan_error::invalid_scanned_value,
3525
128
            "Failed to parse integer: No digits found");
3526
128
    }
3527
16
    return std::tuple{it, output, thsep_indices};
3528
144
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
24
{
3505
24
    std::basic_string<CharT> output;
3506
24
    std::string thsep_indices;
3507
24
    auto it = range.begin();
3508
24
    bool digit_matched = false;
3509
24
    for (; it != range.end(); ++it) {
3510
24
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
24
        else if (char_to_int(*it) >= base) {
3515
24
            break;
3516
24
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
24
    }
3522
24
    if (SCN_UNLIKELY(!digit_matched)) {
3523
24
        return detail::unexpected_scan_error(
3524
24
            scan_error::invalid_scanned_value,
3525
24
            "Failed to parse integer: No digits found");
3526
24
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
24
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
20
{
3505
20
    std::basic_string<CharT> output;
3506
20
    std::string thsep_indices;
3507
20
    auto it = range.begin();
3508
20
    bool digit_matched = false;
3509
20
    for (; it != range.end(); ++it) {
3510
20
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
20
        else if (char_to_int(*it) >= base) {
3515
20
            break;
3516
20
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
20
    }
3522
20
    if (SCN_UNLIKELY(!digit_matched)) {
3523
20
        return detail::unexpected_scan_error(
3524
20
            scan_error::invalid_scanned_value,
3525
20
            "Failed to parse integer: No digits found");
3526
20
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
20
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
52
{
3505
52
    std::basic_string<CharT> output;
3506
52
    std::string thsep_indices;
3507
52
    auto it = range.begin();
3508
52
    bool digit_matched = false;
3509
60
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
52
    if (SCN_UNLIKELY(!digit_matched)) {
3523
44
        return detail::unexpected_scan_error(
3524
44
            scan_error::invalid_scanned_value,
3525
44
            "Failed to parse integer: No digits found");
3526
44
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
52
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
48
{
3505
48
    std::basic_string<CharT> output;
3506
48
    std::string thsep_indices;
3507
48
    auto it = range.begin();
3508
48
    bool digit_matched = false;
3509
56
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
48
    if (SCN_UNLIKELY(!digit_matched)) {
3523
40
        return detail::unexpected_scan_error(
3524
40
            scan_error::invalid_scanned_value,
3525
40
            "Failed to parse integer: No digits found");
3526
40
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
48
}
3529
3530
template <typename CharT, typename T>
3531
auto parse_integer_value(std::basic_string_view<CharT> source,
3532
                         T& value,
3533
                         sign_type sign,
3534
                         int base)
3535
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3536
3537
template <typename T>
3538
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3539
3540
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3541
    extern template auto parse_integer_value(                               \
3542
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3543
        int base)                                                           \
3544
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3545
    extern template void parse_integer_value_exhaustive_valid(              \
3546
        std::string_view, IntT&);
3547
3548
#if !SCN_DISABLE_TYPE_SCHAR
3549
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3550
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3551
#endif
3552
#if !SCN_DISABLE_TYPE_SHORT
3553
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3554
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3555
#endif
3556
#if !SCN_DISABLE_TYPE_INT
3557
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3558
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3559
#endif
3560
#if !SCN_DISABLE_TYPE_LONG
3561
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3562
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3563
#endif
3564
#if !SCN_DISABLE_TYPE_LONG_LONG
3565
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3566
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3567
#endif
3568
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_INT128
3569
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int128)
3570
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int128)
3571
#endif
3572
#if !SCN_DISABLE_TYPE_UCHAR
3573
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3574
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3575
#endif
3576
#if !SCN_DISABLE_TYPE_USHORT
3577
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3578
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3579
#endif
3580
#if !SCN_DISABLE_TYPE_UINT
3581
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3582
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3583
#endif
3584
#if !SCN_DISABLE_TYPE_ULONG
3585
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3586
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3587
#endif
3588
#if !SCN_DISABLE_TYPE_ULONG_LONG
3589
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3590
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3591
#endif
3592
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_UINT128
3593
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, uint128)
3594
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, uint128)
3595
#endif
3596
3597
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3598
3599
template <typename CharT>
3600
class reader_impl_for_int
3601
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3602
public:
3603
    constexpr reader_impl_for_int() = default;
3604
3605
    void check_specs_impl(const detail::format_specs& specs,
3606
                          reader_error_handler& eh)
3607
8.25k
    {
3608
8.25k
        detail::check_int_type_specs(specs, eh);
3609
8.25k
    }
scn::v4::impl::reader_impl_for_int<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
5.59k
    {
3608
5.59k
        detail::check_int_type_specs(specs, eh);
3609
5.59k
    }
scn::v4::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
2.66k
    {
3608
2.66k
        detail::check_int_type_specs(specs, eh);
3609
2.66k
    }
3610
3611
    template <typename Range, typename T>
3612
    auto read_default_with_base(Range range, T& value, int base)
3613
        -> scan_expected<ranges::const_iterator_t<Range>>
3614
2.28k
    {
3615
2.28k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
2.28k
                                   .transform_error(make_eof_scan_error));
3617
3618
2.28k
        if constexpr (!std::is_signed_v<T>) {
3619
1.14k
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
1.14k
        }
3626
3627
2.28k
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
4.57k
        SCN_TRY(after_digits_it,
3633
4.57k
                parse_integer_digits_without_thsep(
3634
4.57k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
4.57k
                    prefix_result.parsed_base));
3636
3637
4.57k
        auto buf = make_contiguous_buffer(
3638
4.57k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
4.57k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
4.57k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
510
    {
3615
510
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
510
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
510
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.02k
        SCN_TRY(after_digits_it,
3633
1.02k
                parse_integer_digits_without_thsep(
3634
1.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.02k
                    prefix_result.parsed_base));
3636
3637
1.02k
        auto buf = make_contiguous_buffer(
3638
1.02k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.02k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.02k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
510
    {
3615
510
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
510
                                   .transform_error(make_eof_scan_error));
3617
3618
510
        if constexpr (!std::is_signed_v<T>) {
3619
510
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
510
        }
3626
3627
510
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.02k
        SCN_TRY(after_digits_it,
3633
1.02k
                parse_integer_digits_without_thsep(
3634
1.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.02k
                    prefix_result.parsed_base));
3636
3637
1.02k
        auto buf = make_contiguous_buffer(
3638
1.02k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.02k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.02k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
634
    {
3615
634
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
634
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
634
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.26k
        SCN_TRY(after_digits_it,
3633
1.26k
                parse_integer_digits_without_thsep(
3634
1.26k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.26k
                    prefix_result.parsed_base));
3636
3637
1.26k
        auto buf = make_contiguous_buffer(
3638
1.26k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.26k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.26k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
634
    {
3615
634
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
634
                                   .transform_error(make_eof_scan_error));
3617
3618
634
        if constexpr (!std::is_signed_v<T>) {
3619
634
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
634
        }
3626
3627
634
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.26k
        SCN_TRY(after_digits_it,
3633
1.26k
                parse_integer_digits_without_thsep(
3634
1.26k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.26k
                    prefix_result.parsed_base));
3636
3637
1.26k
        auto buf = make_contiguous_buffer(
3638
1.26k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.26k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.26k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
3646
3647
    template <typename Range, typename T>
3648
    auto read_default(Range range, T& value, detail::locale_ref loc)
3649
        -> scan_expected<ranges::const_iterator_t<Range>>
3650
2.28k
    {
3651
2.28k
        SCN_UNUSED(loc);
3652
2.28k
        return read_default_with_base(range, value, 10);
3653
2.28k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
634
    {
3651
634
        SCN_UNUSED(loc);
3652
634
        return read_default_with_base(range, value, 10);
3653
634
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
634
    {
3651
634
        SCN_UNUSED(loc);
3652
634
        return read_default_with_base(range, value, 10);
3653
634
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
510
    {
3651
510
        SCN_UNUSED(loc);
3652
510
        return read_default_with_base(range, value, 10);
3653
510
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
510
    {
3651
510
        SCN_UNUSED(loc);
3652
510
        return read_default_with_base(range, value, 10);
3653
510
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
3654
3655
    template <typename Range, typename T>
3656
    auto read_specs(Range range,
3657
                    const detail::format_specs& specs,
3658
                    T& value,
3659
                    detail::locale_ref loc)
3660
        -> scan_expected<ranges::const_iterator_t<Range>>
3661
5.16k
    {
3662
5.16k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
5.16k
                                   .transform_error(make_eof_scan_error));
3664
3665
5.16k
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
5.16k
        if (prefix_result.is_zero) {
3683
34
            value = T{0};
3684
34
            return std::next(prefix_result.iterator);
3685
34
        }
3686
3687
5.12k
        if (SCN_LIKELY(!specs.localized)) {
3688
4.98k
            SCN_TRY(after_digits_it,
3689
3.32k
                    parse_integer_digits_without_thsep(
3690
3.32k
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
3.32k
                        prefix_result.parsed_base));
3692
3693
3.32k
            auto buf = make_contiguous_buffer(
3694
3.32k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
3.32k
            SCN_TRY(result_it,
3696
178
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
178
                                        prefix_result.parsed_base));
3698
3699
178
            return ranges::next(
3700
178
                prefix_result.iterator,
3701
178
                ranges::distance(buf.view().begin(), result_it));
3702
3.32k
        }
3703
3704
144
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
144
            localized_number_formatting_options<CharT>{loc};
3710
144
#endif
3711
3712
144
        SCN_TRY(parse_digits_result,
3713
16
                parse_integer_digits_with_thsep(
3714
16
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
16
                    prefix_result.parsed_base, locale_options));
3716
16
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
16
            parse_digits_result;
3718
16
        SCN_UNUSED(after_digits_it);
3719
3720
16
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
16
            nothsep_source.data(), nothsep_source.size()};
3722
16
        SCN_TRY(
3723
16
            nothsep_source_it,
3724
16
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
16
                                prefix_result.parsed_base));
3726
3727
16
        return ranges::next(
3728
16
            prefix_result.iterator,
3729
16
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
16
                ranges::ssize(thsep_indices));
3731
16
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
36
    {
3662
36
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
36
                                   .transform_error(make_eof_scan_error));
3664
3665
36
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
36
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
36
        if (SCN_LIKELY(!specs.localized)) {
3688
36
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
22
    {
3662
22
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
22
                                   .transform_error(make_eof_scan_error));
3664
3665
22
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
22
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
22
        if (SCN_LIKELY(!specs.localized)) {
3688
22
            SCN_TRY(after_digits_it,
3689
22
                    parse_integer_digits_without_thsep(
3690
22
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
22
                        prefix_result.parsed_base));
3692
3693
22
            auto buf = make_contiguous_buffer(
3694
22
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
22
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
22
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
380
    {
3662
380
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
380
                                   .transform_error(make_eof_scan_error));
3664
3665
380
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
380
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
380
        if (SCN_LIKELY(!specs.localized)) {
3688
368
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
306
    {
3662
306
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
306
                                   .transform_error(make_eof_scan_error));
3664
3665
306
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
306
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
306
        if (SCN_LIKELY(!specs.localized)) {
3688
296
            SCN_TRY(after_digits_it,
3689
296
                    parse_integer_digits_without_thsep(
3690
296
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
296
                        prefix_result.parsed_base));
3692
3693
296
            auto buf = make_contiguous_buffer(
3694
296
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
296
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
296
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
380
    {
3662
380
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
380
                                   .transform_error(make_eof_scan_error));
3664
3665
380
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
380
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
380
        if (SCN_LIKELY(!specs.localized)) {
3688
368
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
306
    {
3662
306
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
306
                                   .transform_error(make_eof_scan_error));
3664
3665
306
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
306
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
306
        if (SCN_LIKELY(!specs.localized)) {
3688
296
            SCN_TRY(after_digits_it,
3689
296
                    parse_integer_digits_without_thsep(
3690
296
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
296
                        prefix_result.parsed_base));
3692
3693
296
            auto buf = make_contiguous_buffer(
3694
296
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
296
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
296
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
342
    {
3662
342
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
342
                                   .transform_error(make_eof_scan_error));
3664
3665
342
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
342
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
342
        if (SCN_LIKELY(!specs.localized)) {
3688
342
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
912
    {
3662
912
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
912
                                   .transform_error(make_eof_scan_error));
3664
3665
912
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
912
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
912
        if (SCN_LIKELY(!specs.localized)) {
3688
912
            SCN_TRY(after_digits_it,
3689
912
                    parse_integer_digits_without_thsep(
3690
912
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
912
                        prefix_result.parsed_base));
3692
3693
912
            auto buf = make_contiguous_buffer(
3694
912
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
912
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
912
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
266
    {
3662
266
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
266
                                   .transform_error(make_eof_scan_error));
3664
3665
266
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
266
        if (prefix_result.is_zero) {
3683
12
            value = T{0};
3684
12
            return std::next(prefix_result.iterator);
3685
12
        }
3686
3687
254
        if (SCN_LIKELY(!specs.localized)) {
3688
228
            SCN_TRY(after_digits_it,
3689
16
                    parse_integer_digits_without_thsep(
3690
16
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
16
                        prefix_result.parsed_base));
3692
3693
16
            auto buf = make_contiguous_buffer(
3694
16
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
16
            SCN_TRY(result_it,
3696
16
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
16
                                        prefix_result.parsed_base));
3698
3699
16
            return ranges::next(
3700
16
                prefix_result.iterator,
3701
16
                ranges::distance(buf.view().begin(), result_it));
3702
16
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
492
    {
3662
492
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
492
                                   .transform_error(make_eof_scan_error));
3664
3665
492
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
492
        if (prefix_result.is_zero) {
3683
10
            value = T{0};
3684
10
            return std::next(prefix_result.iterator);
3685
10
        }
3686
3687
482
        if (SCN_LIKELY(!specs.localized)) {
3688
458
            SCN_TRY(after_digits_it,
3689
458
                    parse_integer_digits_without_thsep(
3690
458
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
458
                        prefix_result.parsed_base));
3692
3693
458
            auto buf = make_contiguous_buffer(
3694
458
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
458
            SCN_TRY(result_it,
3696
50
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
50
                                        prefix_result.parsed_base));
3698
3699
50
            return ranges::next(
3700
50
                prefix_result.iterator,
3701
50
                ranges::distance(buf.view().begin(), result_it));
3702
458
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
222
    {
3662
222
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
222
                                   .transform_error(make_eof_scan_error));
3664
3665
222
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
222
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
216
        if (SCN_LIKELY(!specs.localized)) {
3688
190
            SCN_TRY(after_digits_it,
3689
12
                    parse_integer_digits_without_thsep(
3690
12
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
12
                        prefix_result.parsed_base));
3692
3693
12
            auto buf = make_contiguous_buffer(
3694
12
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
12
            SCN_TRY(result_it,
3696
12
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
12
                                        prefix_result.parsed_base));
3698
3699
12
            return ranges::next(
3700
12
                prefix_result.iterator,
3701
12
                ranges::distance(buf.view().begin(), result_it));
3702
12
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
444
    {
3662
444
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
444
                                   .transform_error(make_eof_scan_error));
3664
3665
444
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
444
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
438
        if (SCN_LIKELY(!specs.localized)) {
3688
414
            SCN_TRY(after_digits_it,
3689
414
                    parse_integer_digits_without_thsep(
3690
414
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
414
                        prefix_result.parsed_base));
3692
3693
414
            auto buf = make_contiguous_buffer(
3694
414
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
414
            SCN_TRY(result_it,
3696
46
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
46
                                        prefix_result.parsed_base));
3698
3699
46
            return ranges::next(
3700
46
                prefix_result.iterator,
3701
46
                ranges::distance(buf.view().begin(), result_it));
3702
414
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
168
    {
3662
168
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
168
                                   .transform_error(make_eof_scan_error));
3664
3665
168
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
168
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
168
        if (SCN_LIKELY(!specs.localized)) {
3688
168
            SCN_TRY(after_digits_it,
3689
10
                    parse_integer_digits_without_thsep(
3690
10
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
10
                        prefix_result.parsed_base));
3692
3693
10
            auto buf = make_contiguous_buffer(
3694
10
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
10
            SCN_TRY(result_it,
3696
10
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
10
                                        prefix_result.parsed_base));
3698
3699
10
            return ranges::next(
3700
10
                prefix_result.iterator,
3701
10
                ranges::distance(buf.view().begin(), result_it));
3702
10
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
884
    {
3662
884
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
884
                                   .transform_error(make_eof_scan_error));
3664
3665
884
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
884
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
884
        if (SCN_LIKELY(!specs.localized)) {
3688
884
            SCN_TRY(after_digits_it,
3689
884
                    parse_integer_digits_without_thsep(
3690
884
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
884
                        prefix_result.parsed_base));
3692
3693
884
            auto buf = make_contiguous_buffer(
3694
884
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
884
            SCN_TRY(result_it,
3696
44
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
44
                                        prefix_result.parsed_base));
3698
3699
44
            return ranges::next(
3700
44
                prefix_result.iterator,
3701
44
                ranges::distance(buf.view().begin(), result_it));
3702
884
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
3732
};
3733
3734
/////////////////////////////////////////////////////////////////
3735
// Floating-point reader
3736
/////////////////////////////////////////////////////////////////
3737
3738
struct float_reader_base {
3739
    enum options_type {
3740
        allow_hex = 1,
3741
        allow_scientific = 2,
3742
        allow_fixed = 4,
3743
        allow_thsep = 8
3744
    };
3745
3746
    enum class float_kind {
3747
        tbd = 0,
3748
        generic,             // fixed or scientific
3749
        fixed,               // xxx.yyy
3750
        scientific,          // xxx.yyyEzzz
3751
        hex_without_prefix,  // xxx.yyypzzz
3752
        hex_with_prefix,     // 0Xxxx.yyypzzz
3753
        inf_short,           // inf
3754
        inf_long,            // infinity
3755
        nan_simple,          // nan
3756
        nan_with_payload,    // nan(xxx)
3757
    };
3758
3759
1.14k
    constexpr float_reader_base() = default;
3760
1.36k
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3761
3762
protected:
3763
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3764
};
3765
3766
template <typename CharT>
3767
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3768
    using numeric_base = numeric_reader<CharT>;
3769
3770
public:
3771
    using char_type = CharT;
3772
3773
1.14k
    constexpr float_reader() = default;
scn::v4::impl::float_reader<char>::float_reader()
Line
Count
Source
3773
634
    constexpr float_reader() = default;
scn::v4::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3773
510
    constexpr float_reader() = default;
3774
3775
1.36k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3775
698
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3775
662
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3776
3777
    template <typename Range>
3778
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3779
        -> scan_expected<ranges::const_iterator_t<Range>>
3780
2.45k
    {
3781
2.45k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
2.45k
        return read_source_impl(range);
3787
2.45k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
378
    {
3781
378
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
378
        return read_source_impl(range);
3787
378
    }
_ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
936
    {
3781
936
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
936
        return read_source_impl(range);
3787
936
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
194
    {
3781
194
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
194
        return read_source_impl(range);
3787
194
    }
_ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
946
    {
3781
946
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
946
        return read_source_impl(range);
3787
946
    }
3788
3789
#if !SCN_DISABLE_LOCALE
3790
    template <typename Range>
3791
    SCN_NODISCARD auto read_source_localized(Range range,
3792
                                             detail::locale_ref loc)
3793
        -> scan_expected<ranges::const_iterator_t<Range>>
3794
50
    {
3795
50
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
50
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
50
        return read_source_impl(range);
3801
50
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
12
    {
3795
12
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
12
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
12
        return read_source_impl(range);
3801
12
    }
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
6
    {
3795
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
6
        return read_source_impl(range);
3801
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
3802
#endif
3803
3804
    template <typename T>
3805
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3806
1.88k
    {
3807
1.88k
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
1.88k
        const std::ptrdiff_t sign_len =
3810
1.88k
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
1.88k
        SCN_TRY(n, parse_value_impl(value));
3813
94
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
1.88k
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3806
920
    {
3807
920
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
920
        const std::ptrdiff_t sign_len =
3810
920
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
920
        SCN_TRY(n, parse_value_impl(value));
3813
0
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
920
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3806
964
    {
3807
964
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
964
        const std::ptrdiff_t sign_len =
3810
964
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
964
        SCN_TRY(n, parse_value_impl(value));
3813
94
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
964
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
3815
3816
private:
3817
    template <typename Range>
3818
    auto read_source_impl(Range range)
3819
        -> scan_expected<ranges::const_iterator_t<Range>>
3820
2.50k
    {
3821
2.50k
        SCN_TRY(sign_result,
3822
2.50k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
2.50k
        auto it = sign_result.first;
3824
2.50k
        m_sign = sign_result.second;
3825
3826
2.50k
        auto digits_begin = it;
3827
2.50k
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
1.90k
                      ranges::sized_range<Range>) {
3830
1.90k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
1.90k
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
1.90k
            else {
3840
1.90k
                auto cb = [&](const auto& rr)
3841
1.90k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
1.86k
                    auto res = read_all(rr);
3843
1.86k
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
1.86k
                    return res;
3849
1.86k
                };
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
920
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
920
                    auto res = read_all(rr);
3843
920
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
920
                    return res;
3849
920
                };
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
942
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
942
                    auto res = read_all(rr);
3843
942
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
942
                    return res;
3849
942
                };
3850
1.90k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
1.86k
            }
3852
        }
3853
600
        else {
3854
600
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
2.50k
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
1.88k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
1.88k
            m_kind != float_kind::nan_simple &&
3865
1.88k
            m_kind != float_kind::nan_with_payload) {
3866
1.88k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
1.88k
        }
3868
3869
1.88k
        handle_separators();
3870
3871
1.88k
        return it;
3872
2.50k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
390
    {
3821
390
        SCN_TRY(sign_result,
3822
390
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
390
        auto it = sign_result.first;
3824
390
        m_sign = sign_result.second;
3825
3826
390
        auto digits_begin = it;
3827
390
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
390
        else {
3854
390
            SCN_TRY_ASSIGN(
3855
0
                it,
3856
0
                do_read_source_impl(
3857
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
0
        }
3860
3861
390
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
0
            m_kind != float_kind::nan_simple &&
3865
0
            m_kind != float_kind::nan_with_payload) {
3866
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
0
        }
3868
3869
0
        handle_separators();
3870
3871
0
        return it;
3872
390
    }
_ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
942
    {
3821
942
        SCN_TRY(sign_result,
3822
942
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
942
        auto it = sign_result.first;
3824
942
        m_sign = sign_result.second;
3825
3826
942
        auto digits_begin = it;
3827
942
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
942
                      ranges::sized_range<Range>) {
3830
942
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
942
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
942
            else {
3840
942
                auto cb = [&](const auto& rr)
3841
942
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
942
                    auto res = read_all(rr);
3843
942
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
942
                        return detail::unexpected_scan_error(
3845
942
                            scan_error::invalid_scanned_value,
3846
942
                            "Invalid float value");
3847
942
                    }
3848
942
                    return res;
3849
942
                };
3850
942
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
920
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
942
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
920
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
920
            m_kind != float_kind::nan_simple &&
3865
920
            m_kind != float_kind::nan_with_payload) {
3866
920
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
920
        }
3868
3869
920
        handle_separators();
3870
3871
920
        return it;
3872
942
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
210
    {
3821
210
        SCN_TRY(sign_result,
3822
210
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
210
        auto it = sign_result.first;
3824
210
        m_sign = sign_result.second;
3825
3826
210
        auto digits_begin = it;
3827
210
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
210
        else {
3854
210
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
210
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
20
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
20
            m_kind != float_kind::nan_simple &&
3865
20
            m_kind != float_kind::nan_with_payload) {
3866
20
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
20
        }
3868
3869
20
        handle_separators();
3870
3871
20
        return it;
3872
210
    }
_ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
962
    {
3821
962
        SCN_TRY(sign_result,
3822
962
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
962
        auto it = sign_result.first;
3824
962
        m_sign = sign_result.second;
3825
3826
962
        auto digits_begin = it;
3827
962
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
962
                      ranges::sized_range<Range>) {
3830
962
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
962
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
962
            else {
3840
962
                auto cb = [&](const auto& rr)
3841
962
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
962
                    auto res = read_all(rr);
3843
962
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
962
                        return detail::unexpected_scan_error(
3845
962
                            scan_error::invalid_scanned_value,
3846
962
                            "Invalid float value");
3847
962
                    }
3848
962
                    return res;
3849
962
                };
3850
962
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
944
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
962
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
944
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
944
            m_kind != float_kind::nan_simple &&
3865
944
            m_kind != float_kind::nan_with_payload) {
3866
944
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
944
        }
3868
3869
944
        handle_separators();
3870
3871
944
        return it;
3872
962
    }
3873
3874
    template <typename Range>
3875
    auto read_dec_digits(Range range, bool thsep_allowed)
3876
        -> parse_expected<ranges::const_iterator_t<Range>>
3877
634
    {
3878
634
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
634
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3884
0
        }
3885
3886
634
        return read_while1_code_unit(
3887
642
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3887
382
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3887
210
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3887
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
634
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
382
    {
3878
382
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
382
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
382
        return read_while1_code_unit(
3887
382
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
382
    }
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
22
    {
3878
22
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
22
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
22
        return read_while1_code_unit(
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
206
    {
3878
206
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
206
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
206
        return read_while1_code_unit(
3887
206
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
206
    }
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
24
    {
3878
24
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
24
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
24
        return read_while1_code_unit(
3887
24
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
24
    }
3889
    template <typename Range>
3890
    auto read_hex_digits(Range range, bool thsep_allowed)
3891
        -> parse_expected<ranges::const_iterator_t<Range>>
3892
34
    {
3893
34
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
34
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3899
0
        }
3900
3901
34
        return read_while1_code_unit(
3902
36
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3902
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3903
34
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
8
    {
3893
8
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
8
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
8
        return read_while1_code_unit(
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
26
    {
3893
26
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
26
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
26
        return read_while1_code_unit(
3902
26
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3904
    template <typename Range>
3905
    auto read_hex_prefix(Range range)
3906
        -> parse_expected<ranges::const_iterator_t<Range>>
3907
2.42k
    {
3908
2.42k
        return read_matching_string_classic_nocase(range, "0x");
3909
2.42k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
360
    {
3908
360
        return read_matching_string_classic_nocase(range, "0x");
3909
360
    }
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
920
    {
3908
920
        return read_matching_string_classic_nocase(range, "0x");
3909
920
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
198
    {
3908
198
        return read_matching_string_classic_nocase(range, "0x");
3909
198
    }
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
942
    {
3908
942
        return read_matching_string_classic_nocase(range, "0x");
3909
942
    }
3910
3911
    template <typename Range>
3912
    auto read_inf(Range range)
3913
        -> parse_expected<ranges::const_iterator_t<Range>>
3914
2.50k
    {
3915
2.50k
        auto it = range.begin();
3916
2.50k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
2.50k
            return unexpected(r.error());
3918
2.50k
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
390
    {
3915
390
        auto it = range.begin();
3916
390
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
390
            return unexpected(r.error());
3918
390
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
942
    {
3915
942
        auto it = range.begin();
3916
942
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
942
            return unexpected(r.error());
3918
942
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
210
    {
3915
210
        auto it = range.begin();
3916
210
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
210
            return unexpected(r.error());
3918
210
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
962
    {
3915
962
        auto it = range.begin();
3916
962
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
962
            return unexpected(r.error());
3918
962
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
3934
3935
    template <typename Range>
3936
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3937
2.50k
    {
3938
2.50k
        auto it = range.begin();
3939
2.50k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
2.50k
            return r.transform_error(map_parse_error_to_scan_error(
3941
2.50k
                scan_error::invalid_scanned_value,
3942
2.50k
                "Invalid floating-point NaN value"));
3943
2.50k
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
390
    {
3938
390
        auto it = range.begin();
3939
390
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
390
            return r.transform_error(map_parse_error_to_scan_error(
3941
390
                scan_error::invalid_scanned_value,
3942
390
                "Invalid floating-point NaN value"));
3943
390
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
942
    {
3938
942
        auto it = range.begin();
3939
942
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
942
            return r.transform_error(map_parse_error_to_scan_error(
3941
942
                scan_error::invalid_scanned_value,
3942
942
                "Invalid floating-point NaN value"));
3943
942
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
210
    {
3938
210
        auto it = range.begin();
3939
210
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
210
            return r.transform_error(map_parse_error_to_scan_error(
3941
210
                scan_error::invalid_scanned_value,
3942
210
                "Invalid floating-point NaN value"));
3943
210
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
962
    {
3938
962
        auto it = range.begin();
3939
962
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
962
            return r.transform_error(map_parse_error_to_scan_error(
3941
962
                scan_error::invalid_scanned_value,
3942
962
                "Invalid floating-point NaN value"));
3943
962
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
3976
3977
    template <typename Range>
3978
    auto read_exponent(Range range, std::string_view exp)
3979
        -> ranges::const_iterator_t<Range>
3980
22
    {
3981
22
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
22
        return range.begin();
4003
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Line
Count
Source
3980
20
    {
3981
20
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
20
        return range.begin();
4003
20
    }
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3980
2
    {
3981
2
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
2
        return range.begin();
4003
2
    }
4004
4005
    template <typename Range>
4006
    auto read_hexfloat(Range range)
4007
        -> scan_expected<ranges::const_iterator_t<Range>>
4008
28
    {
4009
28
        auto it = range.begin();
4010
4011
28
        std::ptrdiff_t digits_count = 0;
4012
28
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
28
            SCN_UNLIKELY(!r)) {
4014
22
            return r.transform_error(map_parse_error_to_scan_error(
4015
22
                scan_error::invalid_scanned_value,
4016
22
                "Invalid hexadecimal floating-point value"));
4017
22
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
8
    {
4009
8
        auto it = range.begin();
4010
4011
8
        std::ptrdiff_t digits_count = 0;
4012
8
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
8
            SCN_UNLIKELY(!r)) {
4014
8
            return r.transform_error(map_parse_error_to_scan_error(
4015
8
                scan_error::invalid_scanned_value,
4016
8
                "Invalid hexadecimal floating-point value"));
4017
8
        }
4018
0
        else {
4019
0
            digits_count += ranges::distance(it, *r);
4020
0
            it = *r;
4021
0
        }
4022
4023
0
        m_integral_part_length = digits_count;
4024
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
0
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
0
        if (auto r =
4030
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
0
        return it;
4044
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
20
    {
4009
20
        auto it = range.begin();
4010
4011
20
        std::ptrdiff_t digits_count = 0;
4012
20
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
20
            SCN_UNLIKELY(!r)) {
4014
14
            return r.transform_error(map_parse_error_to_scan_error(
4015
14
                scan_error::invalid_scanned_value,
4016
14
                "Invalid hexadecimal floating-point value"));
4017
14
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
4045
4046
    template <typename Range>
4047
    auto read_regular_float(Range range)
4048
        -> scan_expected<ranges::const_iterator_t<Range>>
4049
614
    {
4050
614
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
614
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
614
        auto it = ranges::begin(range);
4054
614
        std::ptrdiff_t digits_count = 0;
4055
4056
614
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
614
            SCN_UNLIKELY(!r)) {
4058
594
            return r.transform_error(
4059
594
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
594
                                              "Invalid floating-point value"));
4061
594
        }
4062
20
        else {
4063
20
            digits_count += ranges::distance(it, *r);
4064
20
            it = *r;
4065
20
        }
4066
4067
20
        m_integral_part_length = digits_count;
4068
20
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
20
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
20
        if (auto r =
4074
20
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
20
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
20
        auto beg_exp_it = it;
4086
20
        if (allowed_exp) {
4087
16
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
16
        }
4089
20
        if (required_exp && beg_exp_it == it) {
4090
4
            return detail::unexpected_scan_error(
4091
4
                scan_error::invalid_scanned_value,
4092
4
                "No exponent given to scientific float");
4093
4
        }
4094
4095
16
        m_kind =
4096
16
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
16
        return it;
4099
20
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
382
    {
4050
382
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
382
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
382
        auto it = ranges::begin(range);
4054
382
        std::ptrdiff_t digits_count = 0;
4055
4056
382
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
382
            SCN_UNLIKELY(!r)) {
4058
382
            return r.transform_error(
4059
382
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
382
                                              "Invalid floating-point value"));
4061
382
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
22
    {
4050
22
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
22
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
22
        auto it = ranges::begin(range);
4054
22
        std::ptrdiff_t digits_count = 0;
4055
4056
22
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
22
            SCN_UNLIKELY(!r)) {
4058
22
            return r.transform_error(
4059
22
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
22
                                              "Invalid floating-point value"));
4061
22
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
190
    {
4050
190
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
190
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
190
        auto it = ranges::begin(range);
4054
190
        std::ptrdiff_t digits_count = 0;
4055
4056
190
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
190
            SCN_UNLIKELY(!r)) {
4058
174
            return r.transform_error(
4059
174
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
174
                                              "Invalid floating-point value"));
4061
174
        }
4062
16
        else {
4063
16
            digits_count += ranges::distance(it, *r);
4064
16
            it = *r;
4065
16
        }
4066
4067
16
        m_integral_part_length = digits_count;
4068
16
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
16
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
16
        if (auto r =
4074
16
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
16
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
16
        auto beg_exp_it = it;
4086
16
        if (allowed_exp) {
4087
14
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
14
        }
4089
16
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
14
        m_kind =
4096
14
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
14
        return it;
4099
16
    }
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
20
    {
4050
20
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
20
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
20
        auto it = ranges::begin(range);
4054
20
        std::ptrdiff_t digits_count = 0;
4055
4056
20
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
20
            SCN_UNLIKELY(!r)) {
4058
16
            return r.transform_error(
4059
16
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
16
                                              "Invalid floating-point value"));
4061
16
        }
4062
4
        else {
4063
4
            digits_count += ranges::distance(it, *r);
4064
4
            it = *r;
4065
4
        }
4066
4067
4
        m_integral_part_length = digits_count;
4068
4
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
4
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
4
        if (auto r =
4074
4
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
4
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
4
        auto beg_exp_it = it;
4086
4
        if (allowed_exp) {
4087
2
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
2
        }
4089
4
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
2
        m_kind =
4096
2
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
2
        return it;
4099
4
    }
4100
4101
    template <typename Range, typename ReadRegular, typename ReadHex>
4102
    auto do_read_source_impl(Range range,
4103
                             ReadRegular&& read_regular,
4104
                             ReadHex&& read_hex)
4105
        -> scan_expected<ranges::const_iterator_t<Range>>
4106
2.50k
    {
4107
2.50k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
2.50k
        const bool allowed_nonhex =
4109
2.50k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
2.50k
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
2.50k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
2.50k
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
2.50k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
2.50k
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
2.50k
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
84
            auto it = range.begin();
4132
4133
84
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
84
            else {
4138
84
                m_kind = float_kind::hex_without_prefix;
4139
84
            }
4140
4141
84
            return read_hex(ranges::subrange{it, range.end()});
4142
84
        }
4143
2.42k
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
84
            m_kind = float_kind::generic;
4147
84
            return read_regular_float(range);
4148
84
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
2.33k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
2.33k
        m_kind = float_kind::generic;
4159
2.33k
        return read_regular(range);
4160
2.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
390
    {
4107
390
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
390
        const bool allowed_nonhex =
4109
390
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
390
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
390
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
390
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
390
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
390
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
390
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
382
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
30
            m_kind = float_kind::generic;
4147
30
            return read_regular_float(range);
4148
30
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
352
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
352
        m_kind = float_kind::generic;
4159
352
        return read_regular(range);
4160
352
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
942
    {
4107
942
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
942
        const bool allowed_nonhex =
4109
942
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
942
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
942
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
942
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
942
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
942
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
942
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
934
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
22
            m_kind = float_kind::generic;
4147
22
            return read_regular_float(range);
4148
22
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
912
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
912
        m_kind = float_kind::generic;
4159
912
        return read_regular(range);
4160
912
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
210
    {
4107
210
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
210
        const bool allowed_nonhex =
4109
210
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
210
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
210
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
210
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
210
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
210
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
210
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
20
            auto it = range.begin();
4132
4133
20
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
20
            else {
4138
20
                m_kind = float_kind::hex_without_prefix;
4139
20
            }
4140
4141
20
            return read_hex(ranges::subrange{it, range.end()});
4142
20
        }
4143
190
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
12
            m_kind = float_kind::generic;
4147
12
            return read_regular_float(range);
4148
12
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
178
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
178
        m_kind = float_kind::generic;
4159
178
        return read_regular(range);
4160
178
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
962
    {
4107
962
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
962
        const bool allowed_nonhex =
4109
962
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
962
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
962
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
962
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
962
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
962
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
962
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
48
            auto it = range.begin();
4132
4133
48
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
48
            else {
4138
48
                m_kind = float_kind::hex_without_prefix;
4139
48
            }
4140
4141
48
            return read_hex(ranges::subrange{it, range.end()});
4142
48
        }
4143
914
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
20
            m_kind = float_kind::generic;
4147
20
            return read_regular_float(range);
4148
20
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
894
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
894
        m_kind = float_kind::generic;
4159
894
        return read_regular(range);
4160
894
    }
4161
4162
    void handle_separators()
4163
1.88k
    {
4164
1.88k
        if (m_locale_options.thousands_sep == 0 &&
4165
1.88k
            m_locale_options.decimal_point == CharT{'.'}) {
4166
1.88k
            return;
4167
1.88k
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<char>::handle_separators()
Line
Count
Source
4163
920
    {
4164
920
        if (m_locale_options.thousands_sep == 0 &&
4165
920
            m_locale_options.decimal_point == CharT{'.'}) {
4166
920
            return;
4167
920
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4163
964
    {
4164
964
        if (m_locale_options.thousands_sep == 0 &&
4165
964
            m_locale_options.decimal_point == CharT{'.'}) {
4166
964
            return;
4167
964
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
4203
4204
    template <typename T>
4205
    T setsign(T value) const
4206
94
    {
4207
94
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
94
        return std::copysign(value, static_cast<T>(1.0));
4211
94
    }
Unexecuted instantiation: float scn::v4::impl::float_reader<char>::setsign<float>(float) const
Unexecuted instantiation: float scn::v4::impl::float_reader<wchar_t>::setsign<float>(float) const
Unexecuted instantiation: double scn::v4::impl::float_reader<char>::setsign<double>(double) const
double scn::v4::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4206
94
    {
4207
94
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
94
        return std::copysign(value, static_cast<T>(1.0));
4211
94
    }
Unexecuted instantiation: long double scn::v4::impl::float_reader<char>::setsign<long double>(long double) const
Unexecuted instantiation: long double scn::v4::impl::float_reader<wchar_t>::setsign<long double>(long double) const
4212
4213
    template <typename T>
4214
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4215
4216
    localized_number_formatting_options<CharT> m_locale_options{};
4217
    std::string m_thsep_indices{};
4218
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4219
    std::ptrdiff_t m_integral_part_length{-1};
4220
    sign_type m_sign{sign_type::default_sign};
4221
    float_kind m_kind{float_kind::tbd};
4222
};
4223
4224
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4225
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4226
        -> scan_expected<std::ptrdiff_t>;
4227
4228
#if !SCN_DISABLE_TYPE_FLOAT
4229
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4230
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4231
#endif
4232
#if !SCN_DISABLE_TYPE_DOUBLE
4233
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4234
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4235
#endif
4236
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4237
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4238
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4239
#endif
4240
4241
#if SCN_HAS_STD_F16 && !SCN_DISABLE_TYPE_FLOAT16
4242
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float16_t)
4243
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float16_t)
4244
#endif
4245
#if SCN_HAS_STD_F32 && !SCN_DISABLE_TYPE_FLOAT32
4246
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float32_t)
4247
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float32_t)
4248
#endif
4249
#if SCN_HAS_STD_F64 && !SCN_DISABLE_TYPE_FLOAT64
4250
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float64_t)
4251
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float64_t)
4252
#endif
4253
#if SCN_HAS_STD_F128 && !SCN_DISABLE_TYPE_FLOAT128
4254
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float128_t)
4255
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float128_t)
4256
#endif
4257
#if SCN_HAS_STD_BF16 && !SCN_DISABLE_TYPE_BFLOAT16
4258
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::bfloat16_t)
4259
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::bfloat16_t)
4260
#endif
4261
4262
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4263
4264
template <typename CharT>
4265
class reader_impl_for_float
4266
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4267
public:
4268
    constexpr reader_impl_for_float() = default;
4269
4270
    void check_specs_impl(const detail::format_specs& specs,
4271
                          reader_error_handler& eh)
4272
4.12k
    {
4273
4.12k
        detail::check_float_type_specs(specs, eh);
4274
4.12k
    }
scn::v4::impl::reader_impl_for_float<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
2.79k
    {
4273
2.79k
        detail::check_float_type_specs(specs, eh);
4274
2.79k
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
1.33k
    {
4273
1.33k
        detail::check_float_type_specs(specs, eh);
4274
1.33k
    }
4275
4276
    template <typename Range, typename T>
4277
    auto read_default(Range range, T& value, detail::locale_ref loc)
4278
        -> scan_expected<ranges::const_iterator_t<Range>>
4279
1.14k
    {
4280
1.14k
        SCN_UNUSED(loc);
4281
4282
1.14k
        float_reader<CharT> rd{};
4283
1.14k
        return read_impl<Range>(
4284
1.14k
            range, rd,
4285
1.14k
            [](float_reader<CharT>& r, auto&&... args) {
4286
1.14k
                return r.read_source(SCN_FWD(args)...);
4287
1.14k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
634
            [](float_reader<CharT>& r, auto&&... args) {
4286
634
                return r.read_source(SCN_FWD(args)...);
4287
634
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
510
            [](float_reader<CharT>& r, auto&&... args) {
4286
510
                return r.read_source(SCN_FWD(args)...);
4287
510
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
4288
1.14k
            value);
4289
1.14k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
634
    {
4280
634
        SCN_UNUSED(loc);
4281
4282
634
        float_reader<CharT> rd{};
4283
634
        return read_impl<Range>(
4284
634
            range, rd,
4285
634
            [](float_reader<CharT>& r, auto&&... args) {
4286
634
                return r.read_source(SCN_FWD(args)...);
4287
634
            },
4288
634
            value);
4289
634
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
510
    {
4280
510
        SCN_UNUSED(loc);
4281
4282
510
        float_reader<CharT> rd{};
4283
510
        return read_impl<Range>(
4284
510
            range, rd,
4285
510
            [](float_reader<CharT>& r, auto&&... args) {
4286
510
                return r.read_source(SCN_FWD(args)...);
4287
510
            },
4288
510
            value);
4289
510
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
4290
4291
    template <typename Range, typename T>
4292
    auto read_specs(Range range,
4293
                    const detail::format_specs& specs,
4294
                    T& value,
4295
                    detail::locale_ref loc)
4296
        -> scan_expected<ranges::const_iterator_t<Range>>
4297
1.36k
    {
4298
1.36k
        float_reader<CharT> rd{get_options(specs)};
4299
4300
1.36k
#if !SCN_DISABLE_LOCALE
4301
1.36k
        if (specs.localized) {
4302
50
            return read_impl<Range>(
4303
50
                range, rd,
4304
50
                [](float_reader<CharT>& r, auto&&... args) {
4305
50
                    return r.read_source_localized(SCN_FWD(args)...);
4306
50
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
4307
50
                value, loc);
4308
50
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
1.31k
        return read_impl<Range>(
4314
1.31k
            range, rd,
4315
1.31k
            [](float_reader<CharT>& r, auto&&... args) {
4316
1.31k
                return r.read_source(SCN_FWD(args)...);
4317
1.31k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
378
            [](float_reader<CharT>& r, auto&&... args) {
4316
378
                return r.read_source(SCN_FWD(args)...);
4317
378
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
302
            [](float_reader<CharT>& r, auto&&... args) {
4316
302
                return r.read_source(SCN_FWD(args)...);
4317
302
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
194
            [](float_reader<CharT>& r, auto&&... args) {
4316
194
                return r.read_source(SCN_FWD(args)...);
4317
194
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
436
            [](float_reader<CharT>& r, auto&&... args) {
4316
436
                return r.read_source(SCN_FWD(args)...);
4317
436
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
4318
1.31k
            value);
4319
1.36k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
390
    {
4298
390
        float_reader<CharT> rd{get_options(specs)};
4299
4300
390
#if !SCN_DISABLE_LOCALE
4301
390
        if (specs.localized) {
4302
12
            return read_impl<Range>(
4303
12
                range, rd,
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
4307
12
                value, loc);
4308
12
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
378
        return read_impl<Range>(
4314
378
            range, rd,
4315
378
            [](float_reader<CharT>& r, auto&&... args) {
4316
378
                return r.read_source(SCN_FWD(args)...);
4317
378
            },
4318
378
            value);
4319
390
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
308
    {
4298
308
        float_reader<CharT> rd{get_options(specs)};
4299
4300
308
#if !SCN_DISABLE_LOCALE
4301
308
        if (specs.localized) {
4302
6
            return read_impl<Range>(
4303
6
                range, rd,
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
4307
6
                value, loc);
4308
6
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
302
        return read_impl<Range>(
4314
302
            range, rd,
4315
302
            [](float_reader<CharT>& r, auto&&... args) {
4316
302
                return r.read_source(SCN_FWD(args)...);
4317
302
            },
4318
302
            value);
4319
308
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
210
    {
4298
210
        float_reader<CharT> rd{get_options(specs)};
4299
4300
210
#if !SCN_DISABLE_LOCALE
4301
210
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
194
        return read_impl<Range>(
4314
194
            range, rd,
4315
194
            [](float_reader<CharT>& r, auto&&... args) {
4316
194
                return r.read_source(SCN_FWD(args)...);
4317
194
            },
4318
194
            value);
4319
210
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
452
    {
4298
452
        float_reader<CharT> rd{get_options(specs)};
4299
4300
452
#if !SCN_DISABLE_LOCALE
4301
452
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
436
        return read_impl<Range>(
4314
436
            range, rd,
4315
436
            [](float_reader<CharT>& r, auto&&... args) {
4316
436
                return r.read_source(SCN_FWD(args)...);
4317
436
            },
4318
436
            value);
4319
452
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
4320
4321
private:
4322
    template <typename Range>
4323
    using read_source_callback_type =
4324
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4325
                                                       Range,
4326
                                                       detail::locale_ref);
4327
4328
    template <typename Range, typename T>
4329
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4330
        Range range,
4331
        float_reader<CharT>& rd,
4332
        function_ref<read_source_callback_type<Range>> read_source_cb,
4333
        T& value,
4334
        detail::locale_ref loc = {})
4335
2.50k
    {
4336
2.50k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
2.50k
            SCN_UNLIKELY(!r)) {
4338
620
            return unexpected(r.error());
4339
620
        }
4340
4341
1.88k
        SCN_TRY(n, rd.parse_value(value));
4342
94
        return ranges::next(range.begin(), n);
4343
1.88k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
390
    {
4336
390
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
390
            SCN_UNLIKELY(!r)) {
4338
390
            return unexpected(r.error());
4339
390
        }
4340
4341
0
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
0
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
942
    {
4336
942
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
942
            SCN_UNLIKELY(!r)) {
4338
22
            return unexpected(r.error());
4339
22
        }
4340
4341
920
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
920
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
210
    {
4336
210
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
210
            SCN_UNLIKELY(!r)) {
4338
190
            return unexpected(r.error());
4339
190
        }
4340
4341
20
        SCN_TRY(n, rd.parse_value(value));
4342
20
        return ranges::next(range.begin(), n);
4343
20
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
962
    {
4336
962
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
962
            SCN_UNLIKELY(!r)) {
4338
18
            return unexpected(r.error());
4339
18
        }
4340
4341
944
        SCN_TRY(n, rd.parse_value(value));
4342
74
        return ranges::next(range.begin(), n);
4343
944
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
4344
4345
    static unsigned get_options(const detail::format_specs& specs)
4346
1.36k
    {
4347
1.36k
        unsigned options{};
4348
1.36k
        if (specs.localized) {
4349
50
            options |= float_reader_base::allow_thsep;
4350
50
        }
4351
4352
1.36k
        SCN_GCC_COMPAT_PUSH
4353
1.36k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
1.36k
        switch (specs.type) {
4356
48
            case detail::presentation_type::float_fixed:
4357
48
                return options | float_reader_base::allow_fixed;
4358
4359
22
            case detail::presentation_type::float_scientific:
4360
22
                return options | float_reader_base::allow_scientific;
4361
4362
84
            case detail::presentation_type::float_hex:
4363
84
                return options | float_reader_base::allow_hex;
4364
4365
14
            case detail::presentation_type::float_general:
4366
14
                return options | float_reader_base::allow_scientific |
4367
14
                       float_reader_base::allow_fixed;
4368
4369
1.19k
            case detail::presentation_type::none:
4370
1.19k
                return options | float_reader_base::allow_scientific |
4371
1.19k
                       float_reader_base::allow_fixed |
4372
1.19k
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
1.36k
                SCN_UNREACHABLE;
4377
1.36k
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
1.36k
    }
scn::v4::impl::reader_impl_for_float<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
698
    {
4347
698
        unsigned options{};
4348
698
        if (specs.localized) {
4349
18
            options |= float_reader_base::allow_thsep;
4350
18
        }
4351
4352
698
        SCN_GCC_COMPAT_PUSH
4353
698
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
698
        switch (specs.type) {
4356
28
            case detail::presentation_type::float_fixed:
4357
28
                return options | float_reader_base::allow_fixed;
4358
4359
12
            case detail::presentation_type::float_scientific:
4360
12
                return options | float_reader_base::allow_scientific;
4361
4362
16
            case detail::presentation_type::float_hex:
4363
16
                return options | float_reader_base::allow_hex;
4364
4365
12
            case detail::presentation_type::float_general:
4366
12
                return options | float_reader_base::allow_scientific |
4367
12
                       float_reader_base::allow_fixed;
4368
4369
630
            case detail::presentation_type::none:
4370
630
                return options | float_reader_base::allow_scientific |
4371
630
                       float_reader_base::allow_fixed |
4372
630
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
698
                SCN_UNREACHABLE;
4377
698
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
698
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
662
    {
4347
662
        unsigned options{};
4348
662
        if (specs.localized) {
4349
32
            options |= float_reader_base::allow_thsep;
4350
32
        }
4351
4352
662
        SCN_GCC_COMPAT_PUSH
4353
662
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
662
        switch (specs.type) {
4356
20
            case detail::presentation_type::float_fixed:
4357
20
                return options | float_reader_base::allow_fixed;
4358
4359
10
            case detail::presentation_type::float_scientific:
4360
10
                return options | float_reader_base::allow_scientific;
4361
4362
68
            case detail::presentation_type::float_hex:
4363
68
                return options | float_reader_base::allow_hex;
4364
4365
2
            case detail::presentation_type::float_general:
4366
2
                return options | float_reader_base::allow_scientific |
4367
2
                       float_reader_base::allow_fixed;
4368
4369
562
            case detail::presentation_type::none:
4370
562
                return options | float_reader_base::allow_scientific |
4371
562
                       float_reader_base::allow_fixed |
4372
562
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
662
                SCN_UNREACHABLE;
4377
662
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
662
    }
4381
};
4382
4383
/////////////////////////////////////////////////////////////////
4384
// Regex reader
4385
/////////////////////////////////////////////////////////////////
4386
4387
#if !SCN_DISABLE_REGEX
4388
4389
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4390
constexpr auto make_regex_flags(detail::regex_flags flags)
4391
    -> scan_expected<std::regex_constants::syntax_option_type>
4392
{
4393
    std::regex_constants::syntax_option_type result{};
4394
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4395
#if SCN_HAS_STD_REGEX_MULTILINE
4396
        result |= std::regex_constants::multiline;
4397
#else
4398
        return detail::unexpected_scan_error(
4399
            scan_error::invalid_format_string,
4400
            "/m flag for regex isn't supported by regex backend");
4401
#endif
4402
    }
4403
    if ((flags & detail::regex_flags::singleline) !=
4404
        detail::regex_flags::none) {
4405
        return detail::unexpected_scan_error(
4406
            scan_error::invalid_format_string,
4407
            "/s flag for regex isn't supported by regex backend");
4408
    }
4409
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4410
        result |= std::regex_constants::icase;
4411
    }
4412
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4413
        result |= std::regex_constants::nosubs;
4414
    }
4415
    return result;
4416
}
4417
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4418
constexpr auto make_regex_flags(detail::regex_flags flags)
4419
    -> boost::regex_constants::syntax_option_type
4420
{
4421
    boost::regex_constants::syntax_option_type result{};
4422
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4423
        result |= boost::regex_constants::no_mod_m;
4424
    }
4425
    if ((flags & detail::regex_flags::singleline) !=
4426
        detail::regex_flags::none) {
4427
        result |= boost::regex_constants::mod_s;
4428
    }
4429
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4430
        result |= boost::regex_constants::icase;
4431
    }
4432
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4433
        result |= boost::regex_constants::nosubs;
4434
    }
4435
    return result;
4436
}
4437
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4438
inline auto make_regex_flags(detail::regex_flags flags)
4439
    -> std::pair<RE2::Options, std::string_view>
4440
468
{
4441
468
    RE2::Options opt{RE2::Quiet};
4442
468
    std::string_view stringflags{};
4443
4444
468
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4445
462
        stringflags = "(?m)";
4446
462
    }
4447
468
    if ((flags & detail::regex_flags::singleline) !=
4448
468
        detail::regex_flags::none) {
4449
6
        opt.set_dot_nl(true);
4450
6
    }
4451
468
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4452
6
        opt.set_case_sensitive(false);
4453
6
    }
4454
468
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4455
6
        opt.set_never_capture(true);
4456
6
    }
4457
4458
468
    return {opt, stringflags};
4459
468
}
4460
#endif  // SCN_REGEX_BACKEND == ...
4461
4462
template <typename CharT, typename Input>
4463
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4464
                            detail::regex_flags flags,
4465
                            Input input)
4466
    -> scan_expected<ranges::iterator_t<Input>>
4467
468
{
4468
468
    static_assert(ranges::contiguous_range<Input> &&
4469
468
                  ranges::borrowed_range<Input> &&
4470
468
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
468
    std::string flagged_pattern{};
4548
468
    auto re = [&]() {
4549
468
        auto [opts, flagstr] = make_regex_flags(flags);
4550
468
        opts.set_never_capture(true);
4551
468
        if (flagstr.empty()) {
4552
6
            return re2::RE2{pattern, opts};
4553
6
        }
4554
462
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
462
        flagged_pattern.append(flagstr);
4556
462
        flagged_pattern.append(pattern);
4557
462
        return re2::RE2{flagged_pattern, opts};
4558
468
    }();
Unexecuted instantiation: _ZZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_ENKUlvE_clEv
_ZZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_ENKUlvE_clEv
Line
Count
Source
4548
468
    auto re = [&]() {
4549
468
        auto [opts, flagstr] = make_regex_flags(flags);
4550
468
        opts.set_never_capture(true);
4551
468
        if (flagstr.empty()) {
4552
6
            return re2::RE2{pattern, opts};
4553
6
        }
4554
462
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
462
        flagged_pattern.append(flagstr);
4556
462
        flagged_pattern.append(pattern);
4557
462
        return re2::RE2{flagged_pattern, opts};
4558
468
    }();
4559
468
    if (!re.ok()) {
4560
234
        return detail::unexpected_scan_error(
4561
234
            scan_error::invalid_format_string,
4562
234
            "Failed to parse regular expression");
4563
234
    }
4564
4565
234
    auto new_input = detail::make_string_view_from_pointers(
4566
234
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
234
    bool found = re2::RE2::Consume(&new_input, re);
4568
234
    if (!found) {
4569
144
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
144
                                             "Regular expression didn't match");
4571
144
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
234
#endif  // SCN_REGEX_BACKEND == ...
4574
234
}
Unexecuted instantiation: _ZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4467
468
{
4468
468
    static_assert(ranges::contiguous_range<Input> &&
4469
468
                  ranges::borrowed_range<Input> &&
4470
468
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
468
    std::string flagged_pattern{};
4548
468
    auto re = [&]() {
4549
468
        auto [opts, flagstr] = make_regex_flags(flags);
4550
468
        opts.set_never_capture(true);
4551
468
        if (flagstr.empty()) {
4552
468
            return re2::RE2{pattern, opts};
4553
468
        }
4554
468
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
468
        flagged_pattern.append(flagstr);
4556
468
        flagged_pattern.append(pattern);
4557
468
        return re2::RE2{flagged_pattern, opts};
4558
468
    }();
4559
468
    if (!re.ok()) {
4560
234
        return detail::unexpected_scan_error(
4561
234
            scan_error::invalid_format_string,
4562
234
            "Failed to parse regular expression");
4563
234
    }
4564
4565
234
    auto new_input = detail::make_string_view_from_pointers(
4566
234
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
234
    bool found = re2::RE2::Consume(&new_input, re);
4568
234
    if (!found) {
4569
144
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
144
                                             "Regular expression didn't match");
4571
144
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
234
#endif  // SCN_REGEX_BACKEND == ...
4574
234
}
4575
4576
template <typename CharT, typename Input>
4577
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4578
                             detail::regex_flags flags,
4579
                             Input input,
4580
                             basic_regex_matches<CharT>& value)
4581
    -> scan_expected<ranges::iterator_t<Input>>
4582
0
{
4583
0
    static_assert(ranges::contiguous_range<Input> &&
4584
0
                  ranges::borrowed_range<Input> &&
4585
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4586
4587
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4588
    std::basic_regex<CharT> re{};
4589
    try {
4590
        SCN_TRY(re_flags, make_regex_flags(flags));
4591
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4592
    }
4593
    catch (const std::regex_error&) {
4594
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4595
                                             "Invalid regex");
4596
    }
4597
4598
    std::match_results<const CharT*> matches{};
4599
    try {
4600
        bool found = std::regex_search(input.data(),
4601
                                       input.data() + input.size(), matches, re,
4602
                                       std::regex_constants::match_continuous);
4603
        if (!found || matches.prefix().matched) {
4604
            return detail::unexpected_scan_error(
4605
                scan_error::invalid_scanned_value,
4606
                "Regular expression didn't match");
4607
        }
4608
    }
4609
    catch (const std::regex_error&) {
4610
        return detail::unexpected_scan_error(
4611
            scan_error::invalid_format_string,
4612
            "Regex matching failed with an error");
4613
    }
4614
4615
    value.resize(matches.size());
4616
    std::transform(matches.begin(), matches.end(), value.begin(),
4617
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4618
                       if (!match.matched)
4619
                           return std::nullopt;
4620
                       return detail::make_string_view_from_pointers(
4621
                           match.first, match.second);
4622
                   });
4623
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4624
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4625
    std::vector<std::basic_string<CharT>> names;
4626
    for (size_t i = 0; i < pattern.size();) {
4627
        if constexpr (std::is_same_v<CharT, char>) {
4628
            i = pattern.find("(?<", i);
4629
        }
4630
        else {
4631
            i = pattern.find(L"(?<", i);
4632
        }
4633
4634
        if (i == std::basic_string_view<CharT>::npos) {
4635
            break;
4636
        }
4637
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4638
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4639
                i += 3;
4640
                continue;
4641
            }
4642
        }
4643
4644
        i += 3;
4645
        auto end_i = pattern.find(CharT{'>'}, i);
4646
        if (end_i == std::basic_string_view<CharT>::npos) {
4647
            break;
4648
        }
4649
        names.emplace_back(pattern.substr(i, end_i - i));
4650
    }
4651
4652
    auto re =
4653
#if SCN_REGEX_BOOST_USE_ICU
4654
        boost::make_u32regex(
4655
            pattern.data(), pattern.data() + pattern.size(),
4656
            make_regex_flags(flags) | boost::regex_constants::no_except);
4657
#else
4658
        boost::basic_regex<CharT>{
4659
            pattern.data(), pattern.size(),
4660
            make_regex_flags(flags) | boost::regex_constants::no_except};
4661
#endif
4662
    if (re.status() != 0) {
4663
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4664
                                             "Invalid regex");
4665
    }
4666
4667
    boost::match_results<const CharT*> matches{};
4668
    try {
4669
        bool found =
4670
#if SCN_REGEX_BOOST_USE_ICU
4671
            boost::u32regex_search(input.data(), input.data() + input.size(),
4672
                                   matches, re,
4673
                                   boost::regex_constants::match_continuous);
4674
#else
4675
            boost::regex_search(input.data(), input.data() + input.size(),
4676
                                matches, re,
4677
                                boost::regex_constants::match_continuous);
4678
#endif
4679
        if (!found || matches.prefix().matched) {
4680
            return detail::unexpected_scan_error(
4681
                scan_error::invalid_scanned_value,
4682
                "Regular expression didn't match");
4683
        }
4684
    }
4685
    catch (const std::runtime_error&) {
4686
        return detail::unexpected_scan_error(
4687
            scan_error::invalid_format_string,
4688
            "Regex matching failed with an error");
4689
    }
4690
4691
    value.resize(matches.size());
4692
    std::transform(
4693
        matches.begin(), matches.end(), value.begin(),
4694
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4695
            if (!match.matched)
4696
                return std::nullopt;
4697
            auto sv = detail::make_string_view_from_pointers(match.first,
4698
                                                             match.second);
4699
4700
            if (auto name_it = std::find_if(
4701
                    names.begin(), names.end(),
4702
                    [&](const auto& name) { return match == matches[name]; });
4703
                name_it != names.end()) {
4704
                return basic_regex_match<CharT>{sv, *name_it};
4705
            }
4706
            return sv;
4707
        });
4708
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4709
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4710
    static_assert(std::is_same_v<CharT, char>);
4711
0
    std::string flagged_pattern{};
4712
0
    auto re = [&]() {
4713
0
        auto [opts, flagstr] = make_regex_flags(flags);
4714
0
        if (flagstr.empty()) {
4715
0
            return re2::RE2{pattern, opts};
4716
0
        }
4717
0
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4718
0
        flagged_pattern.append(flagstr);
4719
0
        flagged_pattern.append(pattern);
4720
0
        return re2::RE2{flagged_pattern, opts};
4721
0
    }();
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlvE_clEv
4722
0
    if (!re.ok()) {
4723
0
        return detail::unexpected_scan_error(
4724
0
            scan_error::invalid_format_string,
4725
0
            "Failed to parse regular expression");
4726
0
    }
4727
    // TODO: Optimize into a single batch allocation
4728
0
    const auto max_matches_n =
4729
0
        static_cast<size_t>(re.NumberOfCapturingGroups());
4730
0
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4731
0
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4732
0
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4733
0
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4734
0
                   [](auto& val) { return re2::RE2::Arg{&val}; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E_clINS3_8optionalIS7_EEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E_clINSF_8optionalINSG_IcNSI_IcEEEEEEEEDaSQ_
4735
0
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4736
0
                   [](auto& arg) { return &arg; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E0_clIN3re23RE23ArgEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E0_clIN3re23RE23ArgEEEDaSQ_
4737
0
    auto new_input = detail::make_string_view_from_pointers(
4738
0
        detail::to_address(input.begin()), detail::to_address(input.end()));
4739
0
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4740
0
                                    match_argptrs.size());
4741
0
    if (!found) {
4742
0
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4743
0
                                             "Regular expression didn't match");
4744
0
    }
4745
0
    value.resize(matches.size() + 1);
4746
0
    value[0] =
4747
0
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4748
0
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4749
0
                   [&](auto&& match) -> std::optional<regex_match> {
4750
0
                       if (!match)
4751
0
                           return std::nullopt;
4752
0
                       return *match;
4753
0
                   });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRNS3_8optionalIS7_EEEENSP_INS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRNSF_8optionalINSG_IcNSI_IcEEEEEEEENST_INS0_17basic_regex_matchIcEEEESQ_
4754
0
    {
4755
0
        const auto& capturing_groups = re.CapturingGroupNames();
4756
0
        for (size_t i = 1; i < value.size(); ++i) {
4757
0
            if (auto it = capturing_groups.find(static_cast<int>(i));
4758
0
                it != capturing_groups.end()) {
4759
0
                auto val = value[i]->get();
4760
0
                value[i].emplace(val, it->second);
4761
0
            };
4762
0
        }
4763
0
    }
4764
0
    return input.begin() + ranges::distance(input.data(), new_input.data());
4765
0
#endif  // SCN_REGEX_BACKEND == ...
4766
0
}
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4767
4768
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4769
1.21k
{
4770
1.21k
    std::string result{pattern};
4771
10.7k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4772
9.56k
        result.replace(n, 2, "/");
4773
9.56k
        ++n;
4774
9.56k
    }
4775
1.21k
    return result;
4776
1.21k
}
4777
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4778
0
{
4779
0
    std::wstring result{pattern};
4780
0
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4781
0
        result.replace(n, 2, L"/");
4782
0
        ++n;
4783
0
    }
4784
0
    return result;
4785
0
}
4786
4787
template <typename SourceCharT>
4788
struct regex_matches_reader
4789
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4790
    void check_specs_impl(const detail::format_specs& specs,
4791
                          reader_error_handler& eh)
4792
0
    {
4793
0
        detail::check_regex_type_specs(specs, eh);
4794
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4795
0
        SCN_EXPECT(specs.charset_string_size > 0);
4796
0
    }
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
4797
4798
    template <typename Range, typename DestCharT>
4799
    auto read_default(Range,
4800
                      basic_regex_matches<DestCharT>&,
4801
                      detail::locale_ref = {})
4802
        -> scan_expected<ranges::const_iterator_t<Range>>
4803
    {
4804
        return detail::unexpected_scan_error(
4805
            scan_error::invalid_format_string,
4806
            "No regex given in format string for scanning regex_matches");
4807
    }
4808
4809
    template <typename Range, typename DestCharT>
4810
    auto read_specs(Range range,
4811
                    const detail::format_specs& specs,
4812
                    basic_regex_matches<DestCharT>& value,
4813
                    detail::locale_ref = {})
4814
        -> scan_expected<ranges::const_iterator_t<Range>>
4815
0
    {
4816
0
        SCN_UNUSED(range);
4817
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4818
0
            return detail::unexpected_scan_error(
4819
0
                scan_error::invalid_format_string,
4820
0
                "Cannot transcode is regex_matches_reader");
4821
        }
4822
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4823
0
                           !std::is_same_v<SourceCharT, char>) {
4824
0
            return detail::unexpected_scan_error(
4825
0
                scan_error::invalid_format_string,
4826
0
                "Regex backend doesn't support wide strings as input");
4827
        }
4828
0
        else {
4829
0
            if (!is_entire_source_contiguous(range)) {
4830
0
                return detail::unexpected_scan_error(
4831
0
                    scan_error::invalid_format_string,
4832
0
                    "Cannot use regex with a non-contiguous source "
4833
0
                    "range");
4834
0
            }
4835
4836
0
            auto input = get_as_contiguous(range);
4837
0
            SCN_TRY(it,
4838
0
                    impl(input,
4839
0
                         specs.type == detail::presentation_type::regex_escaped,
4840
0
                         specs.charset_string<SourceCharT>(),
4841
0
                         specs.regexp_flags, value));
4842
0
            return ranges::next(range.begin(),
4843
0
                                ranges::distance(input.begin(), it));
4844
0
        }
4845
0
    }
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4846
4847
private:
4848
    template <typename Range, typename DestCharT>
4849
    auto impl(Range input,
4850
              bool is_escaped,
4851
              std::basic_string_view<SourceCharT> pattern,
4852
              detail::regex_flags flags,
4853
              basic_regex_matches<DestCharT>& value)
4854
0
    {
4855
        if constexpr (detail::is_type_disabled<
4856
                          basic_regex_matches<DestCharT>>) {
4857
            SCN_EXPECT(false);
4858
            SCN_UNREACHABLE;
4859
        }
4860
0
        else {
4861
0
            if (is_escaped) {
4862
0
                return read_regex_matches_impl<SourceCharT>(
4863
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4864
0
            }
4865
0
            return read_regex_matches_impl(pattern, flags, input, value);
4866
0
        }
4867
0
    }
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
4868
};
4869
4870
template <typename CharT>
4871
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4872
4873
#endif  // !SCN_DISABLE_REGEX
4874
4875
/////////////////////////////////////////////////////////////////
4876
// String reader
4877
/////////////////////////////////////////////////////////////////
4878
4879
template <typename Range, typename Iterator, typename ValueCharT>
4880
auto read_string_impl(Range range,
4881
                      Iterator&& result,
4882
                      std::basic_string<ValueCharT>& value)
4883
    -> scan_expected<ranges::const_iterator_t<Range>>
4884
7.83k
{
4885
7.83k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
7.83k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
7.83k
    if (!validate_unicode(src.view())) {
4889
2.11k
        return detail::unexpected_scan_error(
4890
2.11k
            scan_error::invalid_scanned_value,
4891
2.11k
            "Invalid encoding in scanned string");
4892
2.11k
    }
4893
4894
5.72k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
5.72k
    return SCN_MOVE(result);
4896
5.72k
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
506
{
4885
506
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
506
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
506
    if (!validate_unicode(src.view())) {
4889
204
        return detail::unexpected_scan_error(
4890
204
            scan_error::invalid_scanned_value,
4891
204
            "Invalid encoding in scanned string");
4892
204
    }
4893
4894
302
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
302
    return SCN_MOVE(result);
4896
302
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
274
{
4885
274
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
274
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
274
    if (!validate_unicode(src.view())) {
4889
94
        return detail::unexpected_scan_error(
4890
94
            scan_error::invalid_scanned_value,
4891
94
            "Invalid encoding in scanned string");
4892
94
    }
4893
4894
180
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
180
    return SCN_MOVE(result);
4896
180
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.03k
{
4885
1.03k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.03k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.03k
    if (!validate_unicode(src.view())) {
4889
336
        return detail::unexpected_scan_error(
4890
336
            scan_error::invalid_scanned_value,
4891
336
            "Invalid encoding in scanned string");
4892
336
    }
4893
4894
700
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
700
    return SCN_MOVE(result);
4896
700
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
576
{
4885
576
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
576
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
576
    if (!validate_unicode(src.view())) {
4889
54
        return detail::unexpected_scan_error(
4890
54
            scan_error::invalid_scanned_value,
4891
54
            "Invalid encoding in scanned string");
4892
54
    }
4893
4894
522
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
522
    return SCN_MOVE(result);
4896
522
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
506
{
4885
506
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
506
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
506
    if (!validate_unicode(src.view())) {
4889
204
        return detail::unexpected_scan_error(
4890
204
            scan_error::invalid_scanned_value,
4891
204
            "Invalid encoding in scanned string");
4892
204
    }
4893
4894
302
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
302
    return SCN_MOVE(result);
4896
302
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
274
{
4885
274
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
274
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
274
    if (!validate_unicode(src.view())) {
4889
94
        return detail::unexpected_scan_error(
4890
94
            scan_error::invalid_scanned_value,
4891
94
            "Invalid encoding in scanned string");
4892
94
    }
4893
4894
180
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
180
    return SCN_MOVE(result);
4896
180
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.03k
{
4885
1.03k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.03k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.03k
    if (!validate_unicode(src.view())) {
4889
336
        return detail::unexpected_scan_error(
4890
336
            scan_error::invalid_scanned_value,
4891
336
            "Invalid encoding in scanned string");
4892
336
    }
4893
4894
700
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
700
    return SCN_MOVE(result);
4896
700
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
576
{
4885
576
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
576
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
576
    if (!validate_unicode(src.view())) {
4889
54
        return detail::unexpected_scan_error(
4890
54
            scan_error::invalid_scanned_value,
4891
54
            "Invalid encoding in scanned string");
4892
54
    }
4893
4894
522
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
522
    return SCN_MOVE(result);
4896
522
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
240
{
4885
240
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
240
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
240
    if (!validate_unicode(src.view())) {
4889
100
        return detail::unexpected_scan_error(
4890
100
            scan_error::invalid_scanned_value,
4891
100
            "Invalid encoding in scanned string");
4892
100
    }
4893
4894
140
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
140
    return SCN_MOVE(result);
4896
140
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
174
{
4885
174
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
174
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
174
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
170
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
170
    return SCN_MOVE(result);
4896
170
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
932
{
4885
932
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
932
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
932
    if (!validate_unicode(src.view())) {
4889
260
        return detail::unexpected_scan_error(
4890
260
            scan_error::invalid_scanned_value,
4891
260
            "Invalid encoding in scanned string");
4892
260
    }
4893
4894
672
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
672
    return SCN_MOVE(result);
4896
672
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
180
{
4885
180
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
180
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
180
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
174
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
174
    return SCN_MOVE(result);
4896
174
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
240
{
4885
240
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
240
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
240
    if (!validate_unicode(src.view())) {
4889
100
        return detail::unexpected_scan_error(
4890
100
            scan_error::invalid_scanned_value,
4891
100
            "Invalid encoding in scanned string");
4892
100
    }
4893
4894
140
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
140
    return SCN_MOVE(result);
4896
140
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
174
{
4885
174
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
174
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
174
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
170
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
170
    return SCN_MOVE(result);
4896
170
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
932
{
4885
932
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
932
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
932
    if (!validate_unicode(src.view())) {
4889
260
        return detail::unexpected_scan_error(
4890
260
            scan_error::invalid_scanned_value,
4891
260
            "Invalid encoding in scanned string");
4892
260
    }
4893
4894
672
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
672
    return SCN_MOVE(result);
4896
672
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
180
{
4885
180
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
180
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
180
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
174
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
174
    return SCN_MOVE(result);
4896
174
}
4897
4898
template <typename Range, typename Iterator, typename ValueCharT>
4899
auto read_string_view_impl(Range range,
4900
                           Iterator&& result,
4901
                           std::basic_string_view<ValueCharT>& value)
4902
    -> scan_expected<ranges::const_iterator_t<Range>>
4903
3.91k
{
4904
3.91k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
3.91k
    auto src = [&]() {
4907
3.91k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.19k
            return make_contiguous_buffer(
4909
1.19k
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
2.72k
        else {
4912
2.72k
            return make_contiguous_buffer(
4913
2.72k
                ranges::subrange{range.begin(), result});
4914
2.72k
        }
4915
3.91k
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
506
    auto src = [&]() {
4907
506
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
506
            return make_contiguous_buffer(
4909
506
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
506
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
274
    auto src = [&]() {
4907
274
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
274
            return make_contiguous_buffer(
4909
274
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
274
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
1.03k
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
1.03k
        else {
4912
1.03k
            return make_contiguous_buffer(
4913
1.03k
                ranges::subrange{range.begin(), result});
4914
1.03k
        }
4915
1.03k
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
576
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
576
        else {
4912
576
            return make_contiguous_buffer(
4913
576
                ranges::subrange{range.begin(), result});
4914
576
        }
4915
576
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
240
    auto src = [&]() {
4907
240
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
240
            return make_contiguous_buffer(
4909
240
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
240
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
174
    auto src = [&]() {
4907
174
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
174
            return make_contiguous_buffer(
4909
174
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
174
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
932
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
932
        else {
4912
932
            return make_contiguous_buffer(
4913
932
                ranges::subrange{range.begin(), result});
4914
932
        }
4915
932
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
180
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
180
        else {
4912
180
            return make_contiguous_buffer(
4913
180
                ranges::subrange{range.begin(), result});
4914
180
        }
4915
180
    }();
4916
3.91k
    using src_type = decltype(src);
4917
4918
3.91k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
3.91k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
0
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
0
                                             "Cannot read a string_view from "
4927
0
                                             "this source range (would require "
4928
0
                                             "transcoding)");
4929
    }
4930
3.91k
    else {
4931
3.91k
        const auto view = src.view();
4932
3.91k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
3.91k
        if (!validate_unicode(value)) {
4935
1.05k
            return detail::unexpected_scan_error(
4936
1.05k
                scan_error::invalid_scanned_value,
4937
1.05k
                "Invalid encoding in scanned string_view");
4938
1.05k
        }
4939
4940
2.86k
        return SCN_MOVE(result);
4941
3.91k
    }
4942
3.91k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
506
{
4904
506
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
506
    auto src = [&]() {
4907
506
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
506
            return make_contiguous_buffer(
4909
506
                ranges::subrange{range.begin().base(), result.base()});
4910
506
        }
4911
506
        else {
4912
506
            return make_contiguous_buffer(
4913
506
                ranges::subrange{range.begin(), result});
4914
506
        }
4915
506
    }();
4916
506
    using src_type = decltype(src);
4917
4918
506
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
506
    else {
4931
506
        const auto view = src.view();
4932
506
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
506
        if (!validate_unicode(value)) {
4935
204
            return detail::unexpected_scan_error(
4936
204
                scan_error::invalid_scanned_value,
4937
204
                "Invalid encoding in scanned string_view");
4938
204
        }
4939
4940
302
        return SCN_MOVE(result);
4941
506
    }
4942
506
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
274
{
4904
274
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
274
    auto src = [&]() {
4907
274
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
274
            return make_contiguous_buffer(
4909
274
                ranges::subrange{range.begin().base(), result.base()});
4910
274
        }
4911
274
        else {
4912
274
            return make_contiguous_buffer(
4913
274
                ranges::subrange{range.begin(), result});
4914
274
        }
4915
274
    }();
4916
274
    using src_type = decltype(src);
4917
4918
274
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
274
    else {
4931
274
        const auto view = src.view();
4932
274
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
274
        if (!validate_unicode(value)) {
4935
94
            return detail::unexpected_scan_error(
4936
94
                scan_error::invalid_scanned_value,
4937
94
                "Invalid encoding in scanned string_view");
4938
94
        }
4939
4940
180
        return SCN_MOVE(result);
4941
274
    }
4942
274
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
1.03k
{
4904
1.03k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
1.03k
    auto src = [&]() {
4907
1.03k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.03k
            return make_contiguous_buffer(
4909
1.03k
                ranges::subrange{range.begin().base(), result.base()});
4910
1.03k
        }
4911
1.03k
        else {
4912
1.03k
            return make_contiguous_buffer(
4913
1.03k
                ranges::subrange{range.begin(), result});
4914
1.03k
        }
4915
1.03k
    }();
4916
1.03k
    using src_type = decltype(src);
4917
4918
1.03k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
1.03k
    else {
4931
1.03k
        const auto view = src.view();
4932
1.03k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
1.03k
        if (!validate_unicode(value)) {
4935
336
            return detail::unexpected_scan_error(
4936
336
                scan_error::invalid_scanned_value,
4937
336
                "Invalid encoding in scanned string_view");
4938
336
        }
4939
4940
700
        return SCN_MOVE(result);
4941
1.03k
    }
4942
1.03k
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
576
{
4904
576
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
576
    auto src = [&]() {
4907
576
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
576
            return make_contiguous_buffer(
4909
576
                ranges::subrange{range.begin().base(), result.base()});
4910
576
        }
4911
576
        else {
4912
576
            return make_contiguous_buffer(
4913
576
                ranges::subrange{range.begin(), result});
4914
576
        }
4915
576
    }();
4916
576
    using src_type = decltype(src);
4917
4918
576
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
576
    else {
4931
576
        const auto view = src.view();
4932
576
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
576
        if (!validate_unicode(value)) {
4935
54
            return detail::unexpected_scan_error(
4936
54
                scan_error::invalid_scanned_value,
4937
54
                "Invalid encoding in scanned string_view");
4938
54
        }
4939
4940
522
        return SCN_MOVE(result);
4941
576
    }
4942
576
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
240
{
4904
240
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
240
    auto src = [&]() {
4907
240
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
240
            return make_contiguous_buffer(
4909
240
                ranges::subrange{range.begin().base(), result.base()});
4910
240
        }
4911
240
        else {
4912
240
            return make_contiguous_buffer(
4913
240
                ranges::subrange{range.begin(), result});
4914
240
        }
4915
240
    }();
4916
240
    using src_type = decltype(src);
4917
4918
240
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
240
    else {
4931
240
        const auto view = src.view();
4932
240
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
240
        if (!validate_unicode(value)) {
4935
100
            return detail::unexpected_scan_error(
4936
100
                scan_error::invalid_scanned_value,
4937
100
                "Invalid encoding in scanned string_view");
4938
100
        }
4939
4940
140
        return SCN_MOVE(result);
4941
240
    }
4942
240
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
174
{
4904
174
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
174
    auto src = [&]() {
4907
174
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
174
            return make_contiguous_buffer(
4909
174
                ranges::subrange{range.begin().base(), result.base()});
4910
174
        }
4911
174
        else {
4912
174
            return make_contiguous_buffer(
4913
174
                ranges::subrange{range.begin(), result});
4914
174
        }
4915
174
    }();
4916
174
    using src_type = decltype(src);
4917
4918
174
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
174
    else {
4931
174
        const auto view = src.view();
4932
174
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
174
        if (!validate_unicode(value)) {
4935
4
            return detail::unexpected_scan_error(
4936
4
                scan_error::invalid_scanned_value,
4937
4
                "Invalid encoding in scanned string_view");
4938
4
        }
4939
4940
170
        return SCN_MOVE(result);
4941
174
    }
4942
174
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
932
{
4904
932
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
932
    auto src = [&]() {
4907
932
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
932
            return make_contiguous_buffer(
4909
932
                ranges::subrange{range.begin().base(), result.base()});
4910
932
        }
4911
932
        else {
4912
932
            return make_contiguous_buffer(
4913
932
                ranges::subrange{range.begin(), result});
4914
932
        }
4915
932
    }();
4916
932
    using src_type = decltype(src);
4917
4918
932
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
932
    else {
4931
932
        const auto view = src.view();
4932
932
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
932
        if (!validate_unicode(value)) {
4935
260
            return detail::unexpected_scan_error(
4936
260
                scan_error::invalid_scanned_value,
4937
260
                "Invalid encoding in scanned string_view");
4938
260
        }
4939
4940
672
        return SCN_MOVE(result);
4941
932
    }
4942
932
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
180
{
4904
180
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
180
    auto src = [&]() {
4907
180
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
180
            return make_contiguous_buffer(
4909
180
                ranges::subrange{range.begin().base(), result.base()});
4910
180
        }
4911
180
        else {
4912
180
            return make_contiguous_buffer(
4913
180
                ranges::subrange{range.begin(), result});
4914
180
        }
4915
180
    }();
4916
180
    using src_type = decltype(src);
4917
4918
180
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
180
    else {
4931
180
        const auto view = src.view();
4932
180
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
180
        if (!validate_unicode(value)) {
4935
6
            return detail::unexpected_scan_error(
4936
6
                scan_error::invalid_scanned_value,
4937
6
                "Invalid encoding in scanned string_view");
4938
6
        }
4939
4940
174
        return SCN_MOVE(result);
4941
180
    }
4942
180
}
4943
4944
template <typename SourceCharT>
4945
class word_reader_impl {
4946
public:
4947
    template <typename Range, typename ValueCharT>
4948
    auto read(Range range, std::basic_string<ValueCharT>& value)
4949
        -> scan_expected<ranges::const_iterator_t<Range>>
4950
4.81k
    {
4951
4.81k
        return read_string_impl(range, read_until_classic_space(range), value);
4952
4.81k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
348
    {
4951
348
        return read_string_impl(range, read_until_classic_space(range), value);
4952
348
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
984
    {
4951
984
        return read_string_impl(range, read_until_classic_space(range), value);
4952
984
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
348
    {
4951
348
        return read_string_impl(range, read_until_classic_space(range), value);
4952
348
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
984
    {
4951
984
        return read_string_impl(range, read_until_classic_space(range), value);
4952
984
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
174
    {
4951
174
        return read_string_impl(range, read_until_classic_space(range), value);
4952
174
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
900
    {
4951
900
        return read_string_impl(range, read_until_classic_space(range), value);
4952
900
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
174
    {
4951
174
        return read_string_impl(range, read_until_classic_space(range), value);
4952
174
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
900
    {
4951
900
        return read_string_impl(range, read_until_classic_space(range), value);
4952
900
    }
4953
4954
    template <typename Range, typename ValueCharT>
4955
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4956
        -> scan_expected<ranges::const_iterator_t<Range>>
4957
2.40k
    {
4958
2.40k
        return read_string_view_impl(range, read_until_classic_space(range),
4959
2.40k
                                     value);
4960
2.40k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
348
    {
4958
348
        return read_string_view_impl(range, read_until_classic_space(range),
4959
348
                                     value);
4960
348
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
984
    {
4958
984
        return read_string_view_impl(range, read_until_classic_space(range),
4959
984
                                     value);
4960
984
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
174
    {
4958
174
        return read_string_view_impl(range, read_until_classic_space(range),
4959
174
                                     value);
4960
174
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
900
    {
4958
900
        return read_string_view_impl(range, read_until_classic_space(range),
4959
900
                                     value);
4960
900
    }
4961
};
4962
4963
template <typename SourceCharT>
4964
class custom_word_reader_impl {
4965
public:
4966
    template <typename Range, typename ValueCharT>
4967
    auto read(Range range,
4968
              const detail::format_specs& specs,
4969
              std::basic_string<ValueCharT>& value)
4970
        -> scan_expected<ranges::const_iterator_t<Range>>
4971
448
    {
4972
448
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
284
            return read_string_impl(
4974
284
                range,
4975
284
                read_until_code_unit(
4976
284
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
284
                value);
4978
284
        }
4979
164
        return read_string_impl(
4980
164
            range,
4981
164
            read_until_code_units(
4982
164
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
164
            value);
4984
448
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
100
    {
4972
100
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
48
            return read_string_impl(
4974
48
                range,
4975
48
                read_until_code_unit(
4976
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
48
                value);
4978
48
        }
4979
52
        return read_string_impl(
4980
52
            range,
4981
52
            read_until_code_units(
4982
52
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
52
            value);
4984
100
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
52
    {
4972
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
22
            return read_string_impl(
4974
22
                range,
4975
22
                read_until_code_unit(
4976
22
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
22
                value);
4978
22
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
52
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
100
    {
4972
100
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
48
            return read_string_impl(
4974
48
                range,
4975
48
                read_until_code_unit(
4976
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
48
                value);
4978
48
        }
4979
52
        return read_string_impl(
4980
52
            range,
4981
52
            read_until_code_units(
4982
52
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
52
            value);
4984
100
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
52
    {
4972
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
22
            return read_string_impl(
4974
22
                range,
4975
22
                read_until_code_unit(
4976
22
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
22
                value);
4978
22
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
52
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
40
    {
4972
40
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
40
            return read_string_impl(
4974
40
                range,
4975
40
                read_until_code_unit(
4976
40
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
40
                value);
4978
40
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
40
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
40
    {
4972
40
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
40
            return read_string_impl(
4974
40
                range,
4975
40
                read_until_code_unit(
4976
40
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
40
                value);
4978
40
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
40
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
4985
4986
    template <typename Range, typename ValueCharT>
4987
    auto read(Range range,
4988
              const detail::format_specs& specs,
4989
              std::basic_string_view<ValueCharT>& value)
4990
        -> scan_expected<ranges::const_iterator_t<Range>>
4991
224
    {
4992
224
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
142
            return read_string_view_impl(
4994
142
                range,
4995
142
                read_until_code_unit(
4996
142
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
142
                value);
4998
142
        }
4999
82
        return read_string_view_impl(
5000
82
            range,
5001
82
            read_until_code_units(
5002
82
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
82
            value);
5004
224
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
100
    {
4992
100
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
48
            return read_string_view_impl(
4994
48
                range,
4995
48
                read_until_code_unit(
4996
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
48
                value);
4998
48
        }
4999
52
        return read_string_view_impl(
5000
52
            range,
5001
52
            read_until_code_units(
5002
52
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
52
            value);
5004
100
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
52
    {
4992
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
22
            return read_string_view_impl(
4994
22
                range,
4995
22
                read_until_code_unit(
4996
22
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
22
                value);
4998
22
        }
4999
30
        return read_string_view_impl(
5000
30
            range,
5001
30
            read_until_code_units(
5002
30
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
30
            value);
5004
52
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
40
    {
4992
40
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
40
            return read_string_view_impl(
4994
40
                range,
4995
40
                read_until_code_unit(
4996
40
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
40
                value);
4998
40
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
40
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
32
    {
4992
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
32
            return read_string_view_impl(
4994
32
                range,
4995
32
                read_until_code_unit(
4996
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
32
                value);
4998
32
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
32
    }
5005
};
5006
5007
#if !SCN_DISABLE_REGEX
5008
template <typename SourceCharT>
5009
class regex_string_reader_impl {
5010
public:
5011
    template <typename Range, typename ValueCharT>
5012
    auto read(Range range,
5013
              std::basic_string_view<SourceCharT> pattern,
5014
              detail::regex_flags flags,
5015
              std::basic_string<ValueCharT>& value)
5016
        -> scan_expected<ranges::const_iterator_t<Range>>
5017
880
    {
5018
880
        SCN_TRY(it, impl(range, pattern, flags));
5019
60
        return read_string_impl(range, it, value);
5020
880
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
284
    {
5018
284
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
284
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
156
    {
5018
156
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
156
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
284
    {
5018
284
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
284
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
156
    {
5018
156
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
156
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
5021
5022
    template <typename Range, typename ValueCharT>
5023
    auto read(Range range,
5024
              std::basic_string_view<SourceCharT> pattern,
5025
              detail::regex_flags flags,
5026
              std::basic_string_view<ValueCharT>& value)
5027
        -> scan_expected<ranges::const_iterator_t<Range>>
5028
440
    {
5029
440
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
440
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
5028
284
    {
5029
284
        SCN_TRY(it, impl(range, pattern, flags));
5030
0
        return read_string_view_impl(range, it, value);
5031
284
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
5028
156
    {
5029
156
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
156
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
5032
5033
private:
5034
    template <typename Range>
5035
    auto impl(Range range,
5036
              std::basic_string_view<SourceCharT> pattern,
5037
              detail::regex_flags flags)
5038
        -> scan_expected<ranges::const_iterator_t<Range>>
5039
1.32k
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
0
                      !std::is_same_v<SourceCharT, char>) {
5042
0
            return detail::unexpected_scan_error(
5043
0
                scan_error::invalid_format_string,
5044
0
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
1.32k
        else {
5047
1.32k
            if (!is_entire_source_contiguous(range)) {
5048
852
                return detail::unexpected_scan_error(
5049
852
                    scan_error::invalid_format_string,
5050
852
                    "Cannot use regex with a non-contiguous source "
5051
852
                    "range");
5052
852
            }
5053
5054
468
            auto input = get_as_contiguous(range);
5055
468
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
468
        }
5060
1.32k
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
852
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
852
        else {
5047
852
            if (!is_entire_source_contiguous(range)) {
5048
852
                return detail::unexpected_scan_error(
5049
852
                    scan_error::invalid_format_string,
5050
852
                    "Cannot use regex with a non-contiguous source "
5051
852
                    "range");
5052
852
            }
5053
5054
0
            auto input = get_as_contiguous(range);
5055
0
            SCN_TRY(it,
5056
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
0
            return ranges::next(range.begin(),
5058
0
                                ranges::distance(input.begin(), it));
5059
0
        }
5060
852
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
468
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
468
        else {
5047
468
            if (!is_entire_source_contiguous(range)) {
5048
0
                return detail::unexpected_scan_error(
5049
0
                    scan_error::invalid_format_string,
5050
0
                    "Cannot use regex with a non-contiguous source "
5051
0
                    "range");
5052
0
            }
5053
5054
468
            auto input = get_as_contiguous(range);
5055
468
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
468
        }
5060
468
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
5061
};
5062
#endif
5063
5064
template <typename SourceCharT>
5065
class character_reader_impl {
5066
public:
5067
    // Note: no localized version,
5068
    // since it's equivalent in behavior
5069
5070
    template <typename Range, typename ValueCharT>
5071
    auto read(Range range, std::basic_string<ValueCharT>& value)
5072
        -> scan_expected<ranges::const_iterator_t<Range>>
5073
168
    {
5074
168
        return read_impl(
5075
168
            range,
5076
168
            [&](const auto& rng) {
5077
168
                return read_string_impl(rng, read_all(rng), value);
5078
168
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
168
            detail::priority_tag<1>{});
5080
168
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
58
    {
5074
58
        return read_impl(
5075
58
            range,
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
5079
58
            detail::priority_tag<1>{});
5080
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
58
    {
5074
58
        return read_impl(
5075
58
            range,
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
5079
58
            detail::priority_tag<1>{});
5080
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
5081
5082
    template <typename Range, typename ValueCharT>
5083
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
5084
        -> scan_expected<ranges::const_iterator_t<Range>>
5085
84
    {
5086
84
        return read_impl(
5087
84
            range,
5088
84
            [&](const auto& rng) {
5089
84
                return read_string_view_impl(rng, read_all(rng), value);
5090
84
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
58
            [&](const auto& rng) {
5089
58
                return read_string_view_impl(rng, read_all(rng), value);
5090
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
84
            detail::priority_tag<1>{});
5092
84
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
58
    {
5086
58
        return read_impl(
5087
58
            range,
5088
58
            [&](const auto& rng) {
5089
58
                return read_string_view_impl(rng, read_all(rng), value);
5090
58
            },
5091
58
            detail::priority_tag<1>{});
5092
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
26
    {
5086
26
        return read_impl(
5087
26
            range,
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
26
            detail::priority_tag<1>{});
5092
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
5093
5094
private:
5095
    template <typename View, typename ReadCb>
5096
    static auto read_impl(const take_width_view<View>& range,
5097
                          ReadCb&& read_cb,
5098
                          detail::priority_tag<1>)
5099
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
5100
252
    {
5101
252
        return read_cb(range);
5102
252
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
5103
5104
    template <typename Range, typename ReadCb>
5105
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
5106
        -> scan_expected<ranges::const_iterator_t<Range>>
5107
0
    {
5108
0
        return detail::unexpected_scan_error(
5109
0
            scan_error::invalid_format_string,
5110
0
            "Cannot read characters {:c} without maximum field width");
5111
0
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
5112
};
5113
5114
struct nonascii_specs_handler {
5115
    void on_charset_single(char32_t cp)
5116
441k
    {
5117
441k
        on_charset_range(cp, cp + 1);
5118
441k
    }
5119
5120
    void on_charset_range(char32_t begin, char32_t end)
5121
444k
    {
5122
444k
        if (end <= 127) {
5123
219k
            return;
5124
219k
        }
5125
5126
39.8M
        for (auto& elem : extra_ranges) {
5127
            // TODO: check for overlap
5128
39.8M
            if (elem.first == end) {
5129
1.10k
                elem.first = begin;
5130
1.10k
                return;
5131
1.10k
            }
5132
5133
39.8M
            if (elem.second == begin) {
5134
2.12k
                elem.second = end;
5135
2.12k
                return;
5136
2.12k
            }
5137
39.8M
        }
5138
5139
221k
        extra_ranges.push_back(std::make_pair(begin, end));
5140
221k
    }
5141
5142
    constexpr void on_charset_inverted() const
5143
858
    {
5144
        // no-op
5145
858
    }
5146
5147
    constexpr void on_error(const char* msg)
5148
0
    {
5149
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5150
0
    }
5151
    constexpr void on_error(scan_error e)
5152
0
    {
5153
0
        SCN_UNLIKELY_ATTR
5154
0
        err = unexpected(e);
5155
0
    }
5156
5157
    constexpr scan_expected<void> get_error() const
5158
452k
    {
5159
452k
        return err;
5160
452k
    }
5161
5162
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5163
    scan_expected<void> err;
5164
};
5165
5166
template <typename SourceCharT>
5167
class character_set_reader_impl {
5168
public:
5169
    template <typename Range, typename ValueCharT>
5170
    auto read(Range range,
5171
              const detail::format_specs& specs,
5172
              std::basic_string<ValueCharT>& value)
5173
        -> scan_expected<ranges::const_iterator_t<Range>>
5174
3.20k
    {
5175
3.20k
        auto it = read_source_impl(range, {specs});
5176
3.20k
        if (SCN_UNLIKELY(!it)) {
5177
860
            return unexpected(it.error());
5178
860
        }
5179
5180
2.34k
        return read_string_impl(range, *it, value);
5181
3.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
282
    {
5175
282
        auto it = read_source_impl(range, {specs});
5176
282
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
274
        return read_string_impl(range, *it, value);
5181
282
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
940
    {
5175
940
        auto it = read_source_impl(range, {specs});
5176
940
        if (SCN_UNLIKELY(!it)) {
5177
394
            return unexpected(it.error());
5178
394
        }
5179
5180
546
        return read_string_impl(range, *it, value);
5181
940
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
282
    {
5175
282
        auto it = read_source_impl(range, {specs});
5176
282
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
274
        return read_string_impl(range, *it, value);
5181
282
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
940
    {
5175
940
        auto it = read_source_impl(range, {specs});
5176
940
        if (SCN_UNLIKELY(!it)) {
5177
394
            return unexpected(it.error());
5178
394
        }
5179
5180
546
        return read_string_impl(range, *it, value);
5181
940
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
184
    {
5175
184
        auto it = read_source_impl(range, {specs});
5176
184
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
174
        return read_string_impl(range, *it, value);
5181
184
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
198
    {
5175
198
        auto it = read_source_impl(range, {specs});
5176
198
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
180
        return read_string_impl(range, *it, value);
5181
198
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
184
    {
5175
184
        auto it = read_source_impl(range, {specs});
5176
184
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
174
        return read_string_impl(range, *it, value);
5181
184
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
198
    {
5175
198
        auto it = read_source_impl(range, {specs});
5176
198
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
180
        return read_string_impl(range, *it, value);
5181
198
    }
5182
5183
    template <typename Range, typename ValueCharT>
5184
    auto read(Range range,
5185
              const detail::format_specs& specs,
5186
              std::basic_string_view<ValueCharT>& value)
5187
        -> scan_expected<ranges::const_iterator_t<Range>>
5188
1.60k
    {
5189
1.60k
        auto it = read_source_impl(range, {specs});
5190
1.60k
        if (SCN_UNLIKELY(!it)) {
5191
430
            return unexpected(it.error());
5192
430
        }
5193
5194
1.17k
        return read_string_view_impl(range, *it, value);
5195
1.60k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
282
    {
5189
282
        auto it = read_source_impl(range, {specs});
5190
282
        if (SCN_UNLIKELY(!it)) {
5191
8
            return unexpected(it.error());
5192
8
        }
5193
5194
274
        return read_string_view_impl(range, *it, value);
5195
282
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
940
    {
5189
940
        auto it = read_source_impl(range, {specs});
5190
940
        if (SCN_UNLIKELY(!it)) {
5191
394
            return unexpected(it.error());
5192
394
        }
5193
5194
546
        return read_string_view_impl(range, *it, value);
5195
940
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
184
    {
5189
184
        auto it = read_source_impl(range, {specs});
5190
184
        if (SCN_UNLIKELY(!it)) {
5191
10
            return unexpected(it.error());
5192
10
        }
5193
5194
174
        return read_string_view_impl(range, *it, value);
5195
184
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
198
    {
5189
198
        auto it = read_source_impl(range, {specs});
5190
198
        if (SCN_UNLIKELY(!it)) {
5191
18
            return unexpected(it.error());
5192
18
        }
5193
5194
180
        return read_string_view_impl(range, *it, value);
5195
198
    }
5196
5197
private:
5198
    struct specs_helper {
5199
4.81k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
3.66k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
1.14k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5200
5201
        constexpr bool is_char_set_in_literals(char ch) const
5202
299k
        {
5203
299k
            SCN_EXPECT(is_ascii_char(ch));
5204
299k
            const auto val =
5205
299k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
299k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
299k
                    (val % 8)) &
5208
299k
                   1u;
5209
299k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
288k
        {
5203
288k
            SCN_EXPECT(is_ascii_char(ch));
5204
288k
            const auto val =
5205
288k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
288k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
288k
                    (val % 8)) &
5208
288k
                   1u;
5209
288k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
10.7k
        {
5203
10.7k
            SCN_EXPECT(is_ascii_char(ch));
5204
10.7k
            const auto val =
5205
10.7k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
10.7k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
10.7k
                    (val % 8)) &
5208
10.7k
                   1u;
5209
10.7k
        }
5210
5211
        bool is_char_set_in_extra_literals(char32_t cp) const
5212
58.4k
        {
5213
            // TODO: binary search?
5214
58.4k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
58.4k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
58.4k
            return std::find_if(
5220
58.4k
                       nonascii.extra_ranges.begin(),
5221
58.4k
                       nonascii.extra_ranges.end(),
5222
10.1M
                       [cp_val](const auto& pair) noexcept {
5223
10.1M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
10.1M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
10.1M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
10.0M
                       [cp_val](const auto& pair) noexcept {
5223
10.0M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
10.0M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
10.0M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
25.4k
                       [cp_val](const auto& pair) noexcept {
5223
25.4k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
25.4k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
25.4k
                       }) != nonascii.extra_ranges.end();
5226
58.4k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
55.6k
        {
5213
            // TODO: binary search?
5214
55.6k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
55.6k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
55.6k
            return std::find_if(
5220
55.6k
                       nonascii.extra_ranges.begin(),
5221
55.6k
                       nonascii.extra_ranges.end(),
5222
55.6k
                       [cp_val](const auto& pair) noexcept {
5223
55.6k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
55.6k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
55.6k
                       }) != nonascii.extra_ranges.end();
5226
55.6k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
2.72k
        {
5213
            // TODO: binary search?
5214
2.72k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
2.72k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
2.72k
            return std::find_if(
5220
2.72k
                       nonascii.extra_ranges.begin(),
5221
2.72k
                       nonascii.extra_ranges.end(),
5222
2.72k
                       [cp_val](const auto& pair) noexcept {
5223
2.72k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
2.72k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
2.72k
                       }) != nonascii.extra_ranges.end();
5226
2.72k
        }
5227
5228
        scan_expected<void> handle_nonascii()
5229
4.81k
        {
5230
4.81k
            if (!specs.charset_has_nonascii) {
5231
990
                return {};
5232
990
            }
5233
5234
3.82k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
3.82k
            auto it = detail::to_address(charset_string.begin());
5236
3.82k
            auto set = detail::parse_presentation_set(
5237
3.82k
                it, detail::to_address(charset_string.end()), nonascii);
5238
3.82k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
3.82k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
3.82k
            SCN_ENSURE(set == charset_string);
5241
5242
3.82k
            std::sort(nonascii.extra_ranges.begin(),
5243
3.82k
                      nonascii.extra_ranges.end());
5244
3.82k
            return {};
5245
3.82k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5229
3.66k
        {
5230
3.66k
            if (!specs.charset_has_nonascii) {
5231
594
                return {};
5232
594
            }
5233
5234
3.07k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
3.07k
            auto it = detail::to_address(charset_string.begin());
5236
3.07k
            auto set = detail::parse_presentation_set(
5237
3.07k
                it, detail::to_address(charset_string.end()), nonascii);
5238
3.07k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
3.07k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
3.07k
            SCN_ENSURE(set == charset_string);
5241
5242
3.07k
            std::sort(nonascii.extra_ranges.begin(),
5243
3.07k
                      nonascii.extra_ranges.end());
5244
3.07k
            return {};
5245
3.07k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5229
1.14k
        {
5230
1.14k
            if (!specs.charset_has_nonascii) {
5231
396
                return {};
5232
396
            }
5233
5234
750
            auto charset_string = specs.charset_string<SourceCharT>();
5235
750
            auto it = detail::to_address(charset_string.begin());
5236
750
            auto set = detail::parse_presentation_set(
5237
750
                it, detail::to_address(charset_string.end()), nonascii);
5238
750
            SCN_TRY_DISCARD(nonascii.get_error());
5239
750
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
750
            SCN_ENSURE(set == charset_string);
5241
5242
750
            std::sort(nonascii.extra_ranges.begin(),
5243
750
                      nonascii.extra_ranges.end());
5244
750
            return {};
5245
750
        }
5246
5247
        const detail::format_specs& specs;
5248
        nonascii_specs_handler nonascii;
5249
    };
5250
5251
    struct read_source_callback {
5252
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5253
14.5k
        {
5254
14.5k
            if (!is_ascii_char(ch)) {
5255
2.13k
                return false;
5256
2.13k
            }
5257
5258
12.4k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
14.5k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5253
10.4k
        {
5254
10.4k
            if (!is_ascii_char(ch)) {
5255
1.90k
                return false;
5256
1.90k
            }
5257
5258
8.52k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
10.4k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5253
4.11k
        {
5254
4.11k
            if (!is_ascii_char(ch)) {
5255
228
                return false;
5256
228
            }
5257
5258
3.88k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
4.11k
        }
5260
5261
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5262
345k
        {
5263
345k
            if (!is_ascii_char(cp)) {
5264
58.4k
                return helper.is_char_set_in_extra_literals(cp);
5265
58.4k
            }
5266
5267
286k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
345k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
335k
        {
5263
335k
            if (!is_ascii_char(cp)) {
5264
55.6k
                return helper.is_char_set_in_extra_literals(cp);
5265
55.6k
            }
5266
5267
279k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
335k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
9.54k
        {
5263
9.54k
            if (!is_ascii_char(cp)) {
5264
2.72k
                return helper.is_char_set_in_extra_literals(cp);
5265
2.72k
            }
5266
5267
6.81k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
9.54k
        }
5269
5270
        const specs_helper& helper;
5271
        detail::locale_ref loc{};
5272
    };
5273
5274
    template <typename Range>
5275
    auto read_source_impl(Range range, specs_helper helper) const
5276
        -> scan_expected<ranges::const_iterator_t<Range>>
5277
4.81k
    {
5278
4.81k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
4.81k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
4.81k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
4.81k
        read_source_callback cb_wrapper{helper};
5284
5285
4.81k
        if (accepts_nonascii) {
5286
345k
            const auto cb = [&](char32_t cp) {
5287
345k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
345k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
10.4k
            const auto cb = [&](char32_t cp) {
5287
10.4k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
10.4k
            };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
325k
            const auto cb = [&](char32_t cp) {
5287
325k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
325k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
4.55k
            const auto cb = [&](char32_t cp) {
5287
4.55k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
4.55k
            };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
4.98k
            const auto cb = [&](char32_t cp) {
5287
4.98k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
4.98k
            };
5289
5290
3.82k
            if (is_inverted) {
5291
858
                auto it = read_until_code_point(range, cb);
5292
858
                return check_nonempty(it, range);
5293
858
            }
5294
2.96k
            auto it = read_while_code_point(range, cb);
5295
2.96k
            return check_nonempty(it, range);
5296
3.82k
        }
5297
5298
14.5k
        const auto cb = [&](SourceCharT ch) {
5299
14.5k
            return cb_wrapper.on_ascii_only(ch);
5300
14.5k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
7.29k
        const auto cb = [&](SourceCharT ch) {
5299
7.29k
            return cb_wrapper.on_ascii_only(ch);
5300
7.29k
        };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
3.13k
        const auto cb = [&](SourceCharT ch) {
5299
3.13k
            return cb_wrapper.on_ascii_only(ch);
5300
3.13k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
1.95k
        const auto cb = [&](SourceCharT ch) {
5299
1.95k
            return cb_wrapper.on_ascii_only(ch);
5300
1.95k
        };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
2.16k
        const auto cb = [&](SourceCharT ch) {
5299
2.16k
            return cb_wrapper.on_ascii_only(ch);
5300
2.16k
        };
5301
5302
990
        if (is_inverted) {
5303
468
            auto it = read_until_code_unit(range, cb);
5304
468
            return check_nonempty(it, range);
5305
468
        }
5306
522
        auto it = read_while_code_unit(range, cb);
5307
522
        return check_nonempty(it, range);
5308
990
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
846
    {
5278
846
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
846
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
846
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
846
        read_source_callback cb_wrapper{helper};
5284
5285
846
        if (accepts_nonascii) {
5286
462
            const auto cb = [&](char32_t cp) {
5287
462
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
462
            };
5289
5290
462
            if (is_inverted) {
5291
222
                auto it = read_until_code_point(range, cb);
5292
222
                return check_nonempty(it, range);
5293
222
            }
5294
240
            auto it = read_while_code_point(range, cb);
5295
240
            return check_nonempty(it, range);
5296
462
        }
5297
5298
384
        const auto cb = [&](SourceCharT ch) {
5299
384
            return cb_wrapper.on_ascii_only(ch);
5300
384
        };
5301
5302
384
        if (is_inverted) {
5303
174
            auto it = read_until_code_unit(range, cb);
5304
174
            return check_nonempty(it, range);
5305
174
        }
5306
210
        auto it = read_while_code_unit(range, cb);
5307
210
        return check_nonempty(it, range);
5308
384
    }
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
2.82k
    {
5278
2.82k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
2.82k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
2.82k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
2.82k
        read_source_callback cb_wrapper{helper};
5284
5285
2.82k
        if (accepts_nonascii) {
5286
2.61k
            const auto cb = [&](char32_t cp) {
5287
2.61k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
2.61k
            };
5289
5290
2.61k
            if (is_inverted) {
5291
228
                auto it = read_until_code_point(range, cb);
5292
228
                return check_nonempty(it, range);
5293
228
            }
5294
2.38k
            auto it = read_while_code_point(range, cb);
5295
2.38k
            return check_nonempty(it, range);
5296
2.61k
        }
5297
5298
210
        const auto cb = [&](SourceCharT ch) {
5299
210
            return cb_wrapper.on_ascii_only(ch);
5300
210
        };
5301
5302
210
        if (is_inverted) {
5303
96
            auto it = read_until_code_unit(range, cb);
5304
96
            return check_nonempty(it, range);
5305
96
        }
5306
114
        auto it = read_while_code_unit(range, cb);
5307
114
        return check_nonempty(it, range);
5308
210
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
552
    {
5278
552
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
552
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
552
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
552
        read_source_callback cb_wrapper{helper};
5284
5285
552
        if (accepts_nonascii) {
5286
348
            const auto cb = [&](char32_t cp) {
5287
348
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
348
            };
5289
5290
348
            if (is_inverted) {
5291
198
                auto it = read_until_code_point(range, cb);
5292
198
                return check_nonempty(it, range);
5293
198
            }
5294
150
            auto it = read_while_code_point(range, cb);
5295
150
            return check_nonempty(it, range);
5296
348
        }
5297
5298
204
        const auto cb = [&](SourceCharT ch) {
5299
204
            return cb_wrapper.on_ascii_only(ch);
5300
204
        };
5301
5302
204
        if (is_inverted) {
5303
108
            auto it = read_until_code_unit(range, cb);
5304
108
            return check_nonempty(it, range);
5305
108
        }
5306
96
        auto it = read_while_code_unit(range, cb);
5307
96
        return check_nonempty(it, range);
5308
204
    }
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
594
    {
5278
594
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
594
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
594
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
594
        read_source_callback cb_wrapper{helper};
5284
5285
594
        if (accepts_nonascii) {
5286
402
            const auto cb = [&](char32_t cp) {
5287
402
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
402
            };
5289
5290
402
            if (is_inverted) {
5291
210
                auto it = read_until_code_point(range, cb);
5292
210
                return check_nonempty(it, range);
5293
210
            }
5294
192
            auto it = read_while_code_point(range, cb);
5295
192
            return check_nonempty(it, range);
5296
402
        }
5297
5298
192
        const auto cb = [&](SourceCharT ch) {
5299
192
            return cb_wrapper.on_ascii_only(ch);
5300
192
        };
5301
5302
192
        if (is_inverted) {
5303
90
            auto it = read_until_code_unit(range, cb);
5304
90
            return check_nonempty(it, range);
5305
90
        }
5306
102
        auto it = read_while_code_unit(range, cb);
5307
102
        return check_nonempty(it, range);
5308
192
    }
5309
5310
    template <typename Iterator, typename Range>
5311
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5312
                                                  Range range)
5313
4.81k
    {
5314
4.81k
        if (it == range.begin()) {
5315
1.29k
            return detail::unexpected_scan_error(
5316
1.29k
                scan_error::invalid_scanned_value,
5317
1.29k
                "No characters matched in [character set]");
5318
1.29k
        }
5319
5320
3.52k
        return it;
5321
4.81k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5313
846
    {
5314
846
        if (it == range.begin()) {
5315
24
            return detail::unexpected_scan_error(
5316
24
                scan_error::invalid_scanned_value,
5317
24
                "No characters matched in [character set]");
5318
24
        }
5319
5320
822
        return it;
5321
846
    }
scn::v4::scan_expected<char const*> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5313
2.82k
    {
5314
2.82k
        if (it == range.begin()) {
5315
1.18k
            return detail::unexpected_scan_error(
5316
1.18k
                scan_error::invalid_scanned_value,
5317
1.18k
                "No characters matched in [character set]");
5318
1.18k
        }
5319
5320
1.63k
        return it;
5321
2.82k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
5313
552
    {
5314
552
        if (it == range.begin()) {
5315
30
            return detail::unexpected_scan_error(
5316
30
                scan_error::invalid_scanned_value,
5317
30
                "No characters matched in [character set]");
5318
30
        }
5319
5320
522
        return it;
5321
552
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5313
594
    {
5314
594
        if (it == range.begin()) {
5315
54
            return detail::unexpected_scan_error(
5316
54
                scan_error::invalid_scanned_value,
5317
54
                "No characters matched in [character set]");
5318
54
        }
5319
5320
540
        return it;
5321
594
    }
5322
};
5323
5324
template <typename SourceCharT>
5325
class string_reader
5326
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5327
public:
5328
15.5k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<char>::string_reader()
Line
Count
Source
5328
10.1k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5328
5.34k
    constexpr string_reader() = default;
5329
5330
    void check_specs_impl(const detail::format_specs& specs,
5331
                          reader_error_handler& eh)
5332
12.0k
    {
5333
12.0k
        detail::check_string_type_specs(specs, eh);
5334
5335
12.0k
        SCN_GCC_COMPAT_PUSH
5336
12.0k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
12.0k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
12.0k
        switch (specs.type) {
5340
3.55k
            case detail::presentation_type::none:
5341
3.55k
                m_type = reader_type::word;
5342
3.55k
                break;
5343
5344
1.05k
            case detail::presentation_type::string: {
5345
1.05k
                if (specs.align == detail::align_type::left ||
5346
1.05k
                    specs.align == detail::align_type::center) {
5347
684
                    m_type = reader_type::custom_word;
5348
684
                }
5349
366
                else {
5350
366
                    m_type = reader_type::word;
5351
366
                }
5352
1.05k
                break;
5353
0
            }
5354
5355
276
            case detail::presentation_type::character:
5356
276
                m_type = reader_type::character;
5357
276
                break;
5358
5359
4.81k
            case detail::presentation_type::string_set:
5360
4.81k
                m_type = reader_type::character_set;
5361
4.81k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
1.21k
            case detail::presentation_type::regex_escaped:
5369
1.21k
                m_type = reader_type::regex_escaped;
5370
1.21k
                break;
5371
12.0k
#endif
5372
12.0k
        }
5373
5374
12.0k
        SCN_GCC_COMPAT_POP
5375
12.0k
    }
scn::v4::impl::string_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
8.26k
    {
5333
8.26k
        detail::check_string_type_specs(specs, eh);
5334
5335
8.26k
        SCN_GCC_COMPAT_PUSH
5336
8.26k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
8.26k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
8.26k
        switch (specs.type) {
5340
1.93k
            case detail::presentation_type::none:
5341
1.93k
                m_type = reader_type::word;
5342
1.93k
                break;
5343
5344
726
            case detail::presentation_type::string: {
5345
726
                if (specs.align == detail::align_type::left ||
5346
726
                    specs.align == detail::align_type::center) {
5347
462
                    m_type = reader_type::custom_word;
5348
462
                }
5349
264
                else {
5350
264
                    m_type = reader_type::word;
5351
264
                }
5352
726
                break;
5353
0
            }
5354
5355
186
            case detail::presentation_type::character:
5356
186
                m_type = reader_type::character;
5357
186
                break;
5358
5359
3.67k
            case detail::presentation_type::string_set:
5360
3.67k
                m_type = reader_type::character_set;
5361
3.67k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
1.21k
            case detail::presentation_type::regex_escaped:
5369
1.21k
                m_type = reader_type::regex_escaped;
5370
1.21k
                break;
5371
8.26k
#endif
5372
8.26k
        }
5373
5374
8.26k
        SCN_GCC_COMPAT_POP
5375
8.26k
    }
scn::v4::impl::string_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
3.81k
    {
5333
3.81k
        detail::check_string_type_specs(specs, eh);
5334
5335
3.81k
        SCN_GCC_COMPAT_PUSH
5336
3.81k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
3.81k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
3.81k
        switch (specs.type) {
5340
1.62k
            case detail::presentation_type::none:
5341
1.62k
                m_type = reader_type::word;
5342
1.62k
                break;
5343
5344
324
            case detail::presentation_type::string: {
5345
324
                if (specs.align == detail::align_type::left ||
5346
324
                    specs.align == detail::align_type::center) {
5347
222
                    m_type = reader_type::custom_word;
5348
222
                }
5349
102
                else {
5350
102
                    m_type = reader_type::word;
5351
102
                }
5352
324
                break;
5353
0
            }
5354
5355
90
            case detail::presentation_type::character:
5356
90
                m_type = reader_type::character;
5357
90
                break;
5358
5359
1.14k
            case detail::presentation_type::string_set:
5360
1.14k
                m_type = reader_type::character_set;
5361
1.14k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
0
            case detail::presentation_type::regex:
5365
0
                m_type = reader_type::regex;
5366
0
                break;
5367
5368
0
            case detail::presentation_type::regex_escaped:
5369
0
                m_type = reader_type::regex_escaped;
5370
0
                break;
5371
3.81k
#endif
5372
3.81k
        }
5373
5374
3.81k
        SCN_GCC_COMPAT_POP
5375
3.81k
    }
5376
5377
    bool skip_ws_before_read() const
5378
18.9k
    {
5379
18.9k
        return m_type == reader_type::word;
5380
18.9k
    }
scn::v4::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5378
12.6k
    {
5379
12.6k
        return m_type == reader_type::word;
5380
12.6k
    }
scn::v4::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5378
6.25k
    {
5379
6.25k
        return m_type == reader_type::word;
5380
6.25k
    }
5381
5382
    template <typename Range, typename Value>
5383
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5384
        -> scan_expected<ranges::const_iterator_t<Range>>
5385
3.43k
    {
5386
3.43k
        SCN_UNUSED(loc);
5387
3.43k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
3.43k
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
634
    {
5386
634
        SCN_UNUSED(loc);
5387
634
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
634
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
634
    {
5386
634
        SCN_UNUSED(loc);
5387
634
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
634
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
634
    {
5386
634
        SCN_UNUSED(loc);
5387
634
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
634
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
510
    {
5386
510
        SCN_UNUSED(loc);
5387
510
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
510
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
510
    {
5386
510
        SCN_UNUSED(loc);
5387
510
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
510
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
510
    {
5386
510
        SCN_UNUSED(loc);
5387
510
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
510
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
5389
5390
    template <typename Range, typename Value>
5391
    auto read_specs(Range range,
5392
                    const detail::format_specs& specs,
5393
                    Value& value,
5394
                    detail::locale_ref loc)
5395
        -> scan_expected<ranges::const_iterator_t<Range>>
5396
10.8k
    {
5397
10.8k
        SCN_UNUSED(loc);
5398
10.8k
        return read_impl(range, specs, value);
5399
10.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
1.07k
    {
5397
1.07k
        SCN_UNUSED(loc);
5398
1.07k
        return read_impl(range, specs, value);
5399
1.07k
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.49k
    {
5397
1.49k
        SCN_UNUSED(loc);
5398
1.49k
        return read_impl(range, specs, value);
5399
1.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
1.07k
    {
5397
1.07k
        SCN_UNUSED(loc);
5398
1.07k
        return read_impl(range, specs, value);
5399
1.07k
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.49k
    {
5397
1.49k
        SCN_UNUSED(loc);
5398
1.49k
        return read_impl(range, specs, value);
5399
1.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.07k
    {
5397
1.07k
        SCN_UNUSED(loc);
5398
1.07k
        return read_impl(range, specs, value);
5399
1.07k
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
1.49k
    {
5397
1.49k
        SCN_UNUSED(loc);
5398
1.49k
        return read_impl(range, specs, value);
5399
1.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
424
    {
5397
424
        SCN_UNUSED(loc);
5398
424
        return read_impl(range, specs, value);
5399
424
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
620
    {
5397
620
        SCN_UNUSED(loc);
5398
620
        return read_impl(range, specs, value);
5399
620
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
424
    {
5397
424
        SCN_UNUSED(loc);
5398
424
        return read_impl(range, specs, value);
5399
424
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
620
    {
5397
620
        SCN_UNUSED(loc);
5398
620
        return read_impl(range, specs, value);
5399
620
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
424
    {
5397
424
        SCN_UNUSED(loc);
5398
424
        return read_impl(range, specs, value);
5399
424
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
620
    {
5397
620
        SCN_UNUSED(loc);
5398
620
        return read_impl(range, specs, value);
5399
620
    }
5400
5401
protected:
5402
    enum class reader_type {
5403
        word,
5404
        custom_word,
5405
        character,
5406
        character_set,
5407
#if !SCN_DISABLE_REGEX
5408
        regex,
5409
        regex_escaped,
5410
#endif
5411
    };
5412
5413
    template <typename Range, typename Value>
5414
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5415
        -> scan_expected<ranges::const_iterator_t<Range>>
5416
10.8k
    {
5417
10.8k
        SCN_CLANG_PUSH
5418
10.8k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
10.8k
        switch (m_type) {
5421
3.78k
            case reader_type::word:
5422
3.78k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
672
            case reader_type::custom_word:
5425
672
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
672
                                                                   value);
5427
5428
252
            case reader_type::character:
5429
252
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
4.81k
            case reader_type::character_set:
5432
4.81k
                return character_set_reader_impl<SourceCharT>{}.read(
5433
4.81k
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
102
            case reader_type::regex:
5437
102
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
102
                    range, specs.charset_string<SourceCharT>(),
5439
102
                    specs.regexp_flags, value);
5440
5441
1.21k
            case reader_type::regex_escaped:
5442
1.21k
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
1.21k
                    range,
5444
1.21k
                    get_unescaped_regex_pattern(
5445
1.21k
                        specs.charset_string<SourceCharT>()),
5446
1.21k
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
10.8k
                SCN_UNREACHABLE;
5452
10.8k
        }
5453
5454
10.8k
        SCN_CLANG_POP
5455
10.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.07k
    {
5417
1.07k
        SCN_CLANG_PUSH
5418
1.07k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.07k
        switch (m_type) {
5421
348
            case reader_type::word:
5422
348
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
100
            case reader_type::custom_word:
5425
100
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
100
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
282
            case reader_type::character_set:
5432
282
                return character_set_reader_impl<SourceCharT>{}.read(
5433
282
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
282
            case reader_type::regex_escaped:
5442
282
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
282
                    range,
5444
282
                    get_unescaped_regex_pattern(
5445
282
                        specs.charset_string<SourceCharT>()),
5446
282
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.07k
                SCN_UNREACHABLE;
5452
1.07k
        }
5453
5454
1.07k
        SCN_CLANG_POP
5455
1.07k
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.49k
    {
5417
1.49k
        SCN_CLANG_PUSH
5418
1.49k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.49k
        switch (m_type) {
5421
350
            case reader_type::word:
5422
350
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
52
            case reader_type::custom_word:
5425
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
52
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
940
            case reader_type::character_set:
5432
940
                return character_set_reader_impl<SourceCharT>{}.read(
5433
940
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
124
            case reader_type::regex_escaped:
5442
124
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
124
                    range,
5444
124
                    get_unescaped_regex_pattern(
5445
124
                        specs.charset_string<SourceCharT>()),
5446
124
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.49k
                SCN_UNREACHABLE;
5452
1.49k
        }
5453
5454
1.49k
        SCN_CLANG_POP
5455
1.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.07k
    {
5417
1.07k
        SCN_CLANG_PUSH
5418
1.07k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.07k
        switch (m_type) {
5421
348
            case reader_type::word:
5422
348
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
100
            case reader_type::custom_word:
5425
100
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
100
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
282
            case reader_type::character_set:
5432
282
                return character_set_reader_impl<SourceCharT>{}.read(
5433
282
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
282
            case reader_type::regex_escaped:
5442
282
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
282
                    range,
5444
282
                    get_unescaped_regex_pattern(
5445
282
                        specs.charset_string<SourceCharT>()),
5446
282
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.07k
                SCN_UNREACHABLE;
5452
1.07k
        }
5453
5454
1.07k
        SCN_CLANG_POP
5455
1.07k
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.49k
    {
5417
1.49k
        SCN_CLANG_PUSH
5418
1.49k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.49k
        switch (m_type) {
5421
350
            case reader_type::word:
5422
350
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
52
            case reader_type::custom_word:
5425
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
52
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
940
            case reader_type::character_set:
5432
940
                return character_set_reader_impl<SourceCharT>{}.read(
5433
940
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
124
            case reader_type::regex_escaped:
5442
124
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
124
                    range,
5444
124
                    get_unescaped_regex_pattern(
5445
124
                        specs.charset_string<SourceCharT>()),
5446
124
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.49k
                SCN_UNREACHABLE;
5452
1.49k
        }
5453
5454
1.49k
        SCN_CLANG_POP
5455
1.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.07k
    {
5417
1.07k
        SCN_CLANG_PUSH
5418
1.07k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.07k
        switch (m_type) {
5421
348
            case reader_type::word:
5422
348
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
100
            case reader_type::custom_word:
5425
100
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
100
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
282
            case reader_type::character_set:
5432
282
                return character_set_reader_impl<SourceCharT>{}.read(
5433
282
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
282
            case reader_type::regex_escaped:
5442
282
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
282
                    range,
5444
282
                    get_unescaped_regex_pattern(
5445
282
                        specs.charset_string<SourceCharT>()),
5446
282
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.07k
                SCN_UNREACHABLE;
5452
1.07k
        }
5453
5454
1.07k
        SCN_CLANG_POP
5455
1.07k
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.49k
    {
5417
1.49k
        SCN_CLANG_PUSH
5418
1.49k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.49k
        switch (m_type) {
5421
350
            case reader_type::word:
5422
350
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
52
            case reader_type::custom_word:
5425
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
52
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
940
            case reader_type::character_set:
5432
940
                return character_set_reader_impl<SourceCharT>{}.read(
5433
940
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
124
            case reader_type::regex_escaped:
5442
124
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
124
                    range,
5444
124
                    get_unescaped_regex_pattern(
5445
124
                        specs.charset_string<SourceCharT>()),
5446
124
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.49k
                SCN_UNREACHABLE;
5452
1.49k
        }
5453
5454
1.49k
        SCN_CLANG_POP
5455
1.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
424
    {
5417
424
        SCN_CLANG_PUSH
5418
424
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
424
        switch (m_type) {
5421
174
            case reader_type::word:
5422
174
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
40
            case reader_type::custom_word:
5425
40
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
40
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
184
            case reader_type::character_set:
5432
184
                return character_set_reader_impl<SourceCharT>{}.read(
5433
184
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
424
                SCN_UNREACHABLE;
5452
424
        }
5453
5454
424
        SCN_CLANG_POP
5455
424
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
620
    {
5417
620
        SCN_CLANG_PUSH
5418
620
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
620
        switch (m_type) {
5421
390
            case reader_type::word:
5422
390
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
198
            case reader_type::character_set:
5432
198
                return character_set_reader_impl<SourceCharT>{}.read(
5433
198
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
620
                SCN_UNREACHABLE;
5452
620
        }
5453
5454
620
        SCN_CLANG_POP
5455
620
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
424
    {
5417
424
        SCN_CLANG_PUSH
5418
424
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
424
        switch (m_type) {
5421
174
            case reader_type::word:
5422
174
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
40
            case reader_type::custom_word:
5425
40
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
40
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
184
            case reader_type::character_set:
5432
184
                return character_set_reader_impl<SourceCharT>{}.read(
5433
184
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
424
                SCN_UNREACHABLE;
5452
424
        }
5453
5454
424
        SCN_CLANG_POP
5455
424
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
620
    {
5417
620
        SCN_CLANG_PUSH
5418
620
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
620
        switch (m_type) {
5421
390
            case reader_type::word:
5422
390
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
198
            case reader_type::character_set:
5432
198
                return character_set_reader_impl<SourceCharT>{}.read(
5433
198
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
620
                SCN_UNREACHABLE;
5452
620
        }
5453
5454
620
        SCN_CLANG_POP
5455
620
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
424
    {
5417
424
        SCN_CLANG_PUSH
5418
424
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
424
        switch (m_type) {
5421
174
            case reader_type::word:
5422
174
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
40
            case reader_type::custom_word:
5425
40
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
40
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
184
            case reader_type::character_set:
5432
184
                return character_set_reader_impl<SourceCharT>{}.read(
5433
184
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
424
                SCN_UNREACHABLE;
5452
424
        }
5453
5454
424
        SCN_CLANG_POP
5455
424
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
620
    {
5417
620
        SCN_CLANG_PUSH
5418
620
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
620
        switch (m_type) {
5421
390
            case reader_type::word:
5422
390
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
198
            case reader_type::character_set:
5432
198
                return character_set_reader_impl<SourceCharT>{}.read(
5433
198
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
620
                SCN_UNREACHABLE;
5452
620
        }
5453
5454
620
        SCN_CLANG_POP
5455
620
    }
5456
5457
    reader_type m_type{reader_type::word};
5458
};
5459
5460
template <typename SourceCharT>
5461
class reader_impl_for_string : public string_reader<SourceCharT> {};
5462
5463
/////////////////////////////////////////////////////////////////
5464
// Boolean reader
5465
/////////////////////////////////////////////////////////////////
5466
5467
struct bool_reader_base {
5468
    enum options_type { allow_text = 1, allow_numeric = 2 };
5469
5470
1.14k
    constexpr bool_reader_base() = default;
5471
1.71k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5472
5473
    template <typename Range>
5474
    auto read_classic(Range range, bool& value) const
5475
        -> scan_expected<ranges::const_iterator_t<Range>>
5476
2.76k
    {
5477
2.76k
        scan_error err{scan_error::invalid_scanned_value,
5478
2.76k
                       "Failed to read boolean"};
5479
5480
2.76k
        if (m_options & allow_numeric) {
5481
2.42k
            if (auto r = read_numeric(range, value)) {
5482
68
                return *r;
5483
68
            }
5484
2.35k
            else {
5485
2.35k
                err = r.error();
5486
2.35k
            }
5487
2.42k
        }
5488
5489
2.69k
        if (m_options & allow_text) {
5490
2.58k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
2.58k
            else {
5494
2.58k
                err = r.error();
5495
2.58k
            }
5496
2.58k
        }
5497
5498
2.69k
        return unexpected(err);
5499
2.69k
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
1.05k
    {
5477
1.05k
        scan_error err{scan_error::invalid_scanned_value,
5478
1.05k
                       "Failed to read boolean"};
5479
5480
1.05k
        if (m_options & allow_numeric) {
5481
930
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
930
            else {
5485
930
                err = r.error();
5486
930
            }
5487
930
        }
5488
5489
1.05k
        if (m_options & allow_text) {
5490
1.03k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
1.03k
            else {
5494
1.03k
                err = r.error();
5495
1.03k
            }
5496
1.03k
        }
5497
5498
1.05k
        return unexpected(err);
5499
1.05k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
476
    {
5477
476
        scan_error err{scan_error::invalid_scanned_value,
5478
476
                       "Failed to read boolean"};
5479
5480
476
        if (m_options & allow_numeric) {
5481
368
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
368
            else {
5485
368
                err = r.error();
5486
368
            }
5487
368
        }
5488
5489
476
        if (m_options & allow_text) {
5490
448
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
448
            else {
5494
448
                err = r.error();
5495
448
            }
5496
448
        }
5497
5498
476
        return unexpected(err);
5499
476
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
980
    {
5477
980
        scan_error err{scan_error::invalid_scanned_value,
5478
980
                       "Failed to read boolean"};
5479
5480
980
        if (m_options & allow_numeric) {
5481
928
            if (auto r = read_numeric(range, value)) {
5482
50
                return *r;
5483
50
            }
5484
878
            else {
5485
878
                err = r.error();
5486
878
            }
5487
928
        }
5488
5489
930
        if (m_options & allow_text) {
5490
890
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
890
            else {
5494
890
                err = r.error();
5495
890
            }
5496
890
        }
5497
5498
930
        return unexpected(err);
5499
930
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
248
    {
5477
248
        scan_error err{scan_error::invalid_scanned_value,
5478
248
                       "Failed to read boolean"};
5479
5480
248
        if (m_options & allow_numeric) {
5481
196
            if (auto r = read_numeric(range, value)) {
5482
18
                return *r;
5483
18
            }
5484
178
            else {
5485
178
                err = r.error();
5486
178
            }
5487
196
        }
5488
5489
230
        if (m_options & allow_text) {
5490
206
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
206
            else {
5494
206
                err = r.error();
5495
206
            }
5496
206
        }
5497
5498
230
        return unexpected(err);
5499
230
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5500
5501
protected:
5502
    template <typename Range>
5503
    auto read_numeric(Range range, bool& value) const
5504
        -> scan_expected<ranges::const_iterator_t<Range>>
5505
2.50k
    {
5506
2.50k
        if (auto r = read_matching_code_unit(range, '0')) {
5507
78
            value = false;
5508
78
            return *r;
5509
78
        }
5510
2.42k
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
2.42k
        return detail::unexpected_scan_error(
5516
2.42k
            scan_error::invalid_scanned_value,
5517
2.42k
            "Failed to read numeric boolean value: No match");
5518
2.42k
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
942
    {
5506
942
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
942
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
942
        return detail::unexpected_scan_error(
5516
942
            scan_error::invalid_scanned_value,
5517
942
            "Failed to read numeric boolean value: No match");
5518
942
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
384
    {
5506
384
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
384
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
384
        return detail::unexpected_scan_error(
5516
384
            scan_error::invalid_scanned_value,
5517
384
            "Failed to read numeric boolean value: No match");
5518
384
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
956
    {
5506
956
        if (auto r = read_matching_code_unit(range, '0')) {
5507
56
            value = false;
5508
56
            return *r;
5509
56
        }
5510
900
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
900
        return detail::unexpected_scan_error(
5516
900
            scan_error::invalid_scanned_value,
5517
900
            "Failed to read numeric boolean value: No match");
5518
900
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
222
    {
5506
222
        if (auto r = read_matching_code_unit(range, '0')) {
5507
22
            value = false;
5508
22
            return *r;
5509
22
        }
5510
200
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
200
        return detail::unexpected_scan_error(
5516
200
            scan_error::invalid_scanned_value,
5517
200
            "Failed to read numeric boolean value: No match");
5518
200
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5519
5520
    template <typename Range>
5521
    auto read_textual_classic(Range range, bool& value) const
5522
        -> scan_expected<ranges::const_iterator_t<Range>>
5523
2.58k
    {
5524
2.58k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
2.58k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
2.58k
        return detail::unexpected_scan_error(
5534
2.58k
            scan_error::invalid_scanned_value,
5535
2.58k
            "Failed to read textual boolean value: No match");
5536
2.58k
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
1.03k
    {
5524
1.03k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
1.03k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
1.03k
        return detail::unexpected_scan_error(
5534
1.03k
            scan_error::invalid_scanned_value,
5535
1.03k
            "Failed to read textual boolean value: No match");
5536
1.03k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
448
    {
5524
448
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
448
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
448
        return detail::unexpected_scan_error(
5534
448
            scan_error::invalid_scanned_value,
5535
448
            "Failed to read textual boolean value: No match");
5536
448
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
890
    {
5524
890
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
890
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
890
        return detail::unexpected_scan_error(
5534
890
            scan_error::invalid_scanned_value,
5535
890
            "Failed to read textual boolean value: No match");
5536
890
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
206
    {
5524
206
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
206
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
206
        return detail::unexpected_scan_error(
5534
206
            scan_error::invalid_scanned_value,
5535
206
            "Failed to read textual boolean value: No match");
5536
206
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5537
5538
    unsigned m_options{allow_text | allow_numeric};
5539
};
5540
5541
template <typename CharT>
5542
struct bool_reader : public bool_reader_base {
5543
    using bool_reader_base::bool_reader_base;
5544
5545
#if !SCN_DISABLE_LOCALE
5546
    template <typename Range>
5547
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5548
        -> scan_expected<ranges::const_iterator_t<Range>>
5549
96
    {
5550
96
        scan_error err{scan_error::invalid_scanned_value,
5551
96
                       "Failed to read boolean"};
5552
5553
96
        if (m_options & allow_numeric) {
5554
82
            if (auto r = read_numeric(range, value)) {
5555
10
                return *r;
5556
10
            }
5557
72
            else {
5558
72
                err = r.error();
5559
72
            }
5560
82
        }
5561
5562
86
        if (m_options & allow_text) {
5563
52
            auto stdloc = loc.get<std::locale>();
5564
52
            const auto& numpunct =
5565
52
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
52
            const auto truename = numpunct.truename();
5567
52
            const auto falsename = numpunct.falsename();
5568
5569
52
            if (auto r =
5570
52
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
52
            else {
5574
52
                err = r.error();
5575
52
            }
5576
52
        }
5577
5578
86
        return unexpected(err);
5579
86
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
20
    {
5550
20
        scan_error err{scan_error::invalid_scanned_value,
5551
20
                       "Failed to read boolean"};
5552
5553
20
        if (m_options & allow_numeric) {
5554
16
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
16
            else {
5558
16
                err = r.error();
5559
16
            }
5560
16
        }
5561
5562
20
        if (m_options & allow_text) {
5563
16
            auto stdloc = loc.get<std::locale>();
5564
16
            const auto& numpunct =
5565
16
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
16
            const auto truename = numpunct.truename();
5567
16
            const auto falsename = numpunct.falsename();
5568
5569
16
            if (auto r =
5570
16
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
16
            else {
5574
16
                err = r.error();
5575
16
            }
5576
16
        }
5577
5578
20
        return unexpected(err);
5579
20
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
18
    {
5550
18
        scan_error err{scan_error::invalid_scanned_value,
5551
18
                       "Failed to read boolean"};
5552
5553
18
        if (m_options & allow_numeric) {
5554
12
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
12
            else {
5558
12
                err = r.error();
5559
12
            }
5560
12
        }
5561
5562
18
        if (m_options & allow_text) {
5563
10
            auto stdloc = loc.get<std::locale>();
5564
10
            const auto& numpunct =
5565
10
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
10
            const auto truename = numpunct.truename();
5567
10
            const auto falsename = numpunct.falsename();
5568
5569
10
            if (auto r =
5570
10
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
10
            else {
5574
10
                err = r.error();
5575
10
            }
5576
10
        }
5577
5578
18
        return unexpected(err);
5579
18
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
28
    {
5550
28
        scan_error err{scan_error::invalid_scanned_value,
5551
28
                       "Failed to read boolean"};
5552
5553
28
        if (m_options & allow_numeric) {
5554
26
            if (auto r = read_numeric(range, value)) {
5555
4
                return *r;
5556
4
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
26
        }
5561
5562
24
        if (m_options & allow_text) {
5563
14
            auto stdloc = loc.get<std::locale>();
5564
14
            const auto& numpunct =
5565
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
14
            const auto truename = numpunct.truename();
5567
14
            const auto falsename = numpunct.falsename();
5568
5569
14
            if (auto r =
5570
14
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
14
            else {
5574
14
                err = r.error();
5575
14
            }
5576
14
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
30
    {
5550
30
        scan_error err{scan_error::invalid_scanned_value,
5551
30
                       "Failed to read boolean"};
5552
5553
30
        if (m_options & allow_numeric) {
5554
28
            if (auto r = read_numeric(range, value)) {
5555
6
                return *r;
5556
6
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
28
        }
5561
5562
24
        if (m_options & allow_text) {
5563
12
            auto stdloc = loc.get<std::locale>();
5564
12
            const auto& numpunct =
5565
12
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
12
            const auto truename = numpunct.truename();
5567
12
            const auto falsename = numpunct.falsename();
5568
5569
12
            if (auto r =
5570
12
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
12
            else {
5574
12
                err = r.error();
5575
12
            }
5576
12
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5580
#endif
5581
5582
protected:
5583
    template <typename Range>
5584
    auto read_textual_custom(Range range,
5585
                             bool& value,
5586
                             std::basic_string_view<CharT> truename,
5587
                             std::basic_string_view<CharT> falsename) const
5588
        -> scan_expected<ranges::const_iterator_t<Range>>
5589
52
    {
5590
52
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
52
        const auto shorter = std::pair{
5592
52
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
52
        const auto longer = std::pair{
5594
52
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
52
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
52
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
52
        return detail::unexpected_scan_error(
5606
52
            scan_error::invalid_scanned_value,
5607
52
            "Failed to read textual boolean: No match");
5608
52
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5589
16
    {
5590
16
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
16
        const auto shorter = std::pair{
5592
16
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
16
        const auto longer = std::pair{
5594
16
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
16
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
16
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
16
        return detail::unexpected_scan_error(
5606
16
            scan_error::invalid_scanned_value,
5607
16
            "Failed to read textual boolean: No match");
5608
16
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5589
10
    {
5590
10
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
10
        const auto shorter = std::pair{
5592
10
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
10
        const auto longer = std::pair{
5594
10
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
10
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
10
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
10
        return detail::unexpected_scan_error(
5606
10
            scan_error::invalid_scanned_value,
5607
10
            "Failed to read textual boolean: No match");
5608
10
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5589
14
    {
5590
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
14
        const auto shorter = std::pair{
5592
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
14
        const auto longer = std::pair{
5594
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
14
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
14
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
14
        return detail::unexpected_scan_error(
5606
14
            scan_error::invalid_scanned_value,
5607
14
            "Failed to read textual boolean: No match");
5608
14
    }
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5589
12
    {
5590
12
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
12
        const auto shorter = std::pair{
5592
12
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
12
        const auto longer = std::pair{
5594
12
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
12
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
12
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
12
        return detail::unexpected_scan_error(
5606
12
            scan_error::invalid_scanned_value,
5607
12
            "Failed to read textual boolean: No match");
5608
12
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5609
};
5610
5611
template <typename CharT>
5612
class reader_impl_for_bool
5613
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5614
public:
5615
    reader_impl_for_bool() = default;
5616
5617
    void check_specs_impl(const detail::format_specs& specs,
5618
                          reader_error_handler& eh)
5619
4.12k
    {
5620
4.12k
        detail::check_bool_type_specs(specs, eh);
5621
4.12k
    }
scn::v4::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
2.79k
    {
5620
2.79k
        detail::check_bool_type_specs(specs, eh);
5621
2.79k
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
1.33k
    {
5620
1.33k
        detail::check_bool_type_specs(specs, eh);
5621
1.33k
    }
5622
5623
    template <typename Range>
5624
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5625
        -> scan_expected<ranges::const_iterator_t<Range>>
5626
1.14k
    {
5627
1.14k
        SCN_UNUSED(loc);
5628
5629
1.14k
        return bool_reader<CharT>{}.read_classic(range, value);
5630
1.14k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
634
    {
5627
634
        SCN_UNUSED(loc);
5628
5629
634
        return bool_reader<CharT>{}.read_classic(range, value);
5630
634
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
510
    {
5627
510
        SCN_UNUSED(loc);
5628
5629
510
        return bool_reader<CharT>{}.read_classic(range, value);
5630
510
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5631
5632
    template <typename Range>
5633
    auto read_specs(Range range,
5634
                    const detail::format_specs& specs,
5635
                    bool& value,
5636
                    detail::locale_ref loc) const
5637
        -> scan_expected<ranges::const_iterator_t<Range>>
5638
1.71k
    {
5639
1.71k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
1.71k
#if !SCN_DISABLE_LOCALE
5642
1.71k
        if (specs.localized) {
5643
96
            return rd.read_localized(range, loc, value);
5644
96
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
1.61k
        return rd.read_classic(range, value);
5650
1.71k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
496
    {
5639
496
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
496
#if !SCN_DISABLE_LOCALE
5642
496
        if (specs.localized) {
5643
20
            return rd.read_localized(range, loc, value);
5644
20
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
476
        return rd.read_classic(range, value);
5650
496
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
442
    {
5639
442
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
442
#if !SCN_DISABLE_LOCALE
5642
442
        if (specs.localized) {
5643
18
            return rd.read_localized(range, loc, value);
5644
18
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
424
        return rd.read_classic(range, value);
5650
442
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
276
    {
5639
276
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
276
#if !SCN_DISABLE_LOCALE
5642
276
        if (specs.localized) {
5643
28
            return rd.read_localized(range, loc, value);
5644
28
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
248
        return rd.read_classic(range, value);
5650
276
    }
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
500
    {
5639
500
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
500
#if !SCN_DISABLE_LOCALE
5642
500
        if (specs.localized) {
5643
30
            return rd.read_localized(range, loc, value);
5644
30
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
470
        return rd.read_classic(range, value);
5650
500
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5651
5652
    static constexpr unsigned get_options(const detail::format_specs& specs)
5653
1.71k
    {
5654
1.71k
        SCN_GCC_COMPAT_PUSH
5655
1.71k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
1.71k
        switch (specs.type) {
5658
354
            case detail::presentation_type::string:
5659
354
                return bool_reader_base::allow_text;
5660
5661
38
            case detail::presentation_type::int_generic:
5662
78
            case detail::presentation_type::int_binary:
5663
92
            case detail::presentation_type::int_decimal:
5664
118
            case detail::presentation_type::int_hex:
5665
148
            case detail::presentation_type::int_octal:
5666
168
            case detail::presentation_type::int_unsigned_decimal:
5667
168
                return bool_reader_base::allow_numeric;
5668
5669
1.19k
            default:
5670
1.19k
                return bool_reader_base::allow_text |
5671
1.19k
                       bool_reader_base::allow_numeric;
5672
1.71k
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
1.71k
    }
scn::v4::impl::reader_impl_for_bool<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
938
    {
5654
938
        SCN_GCC_COMPAT_PUSH
5655
938
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
938
        switch (specs.type) {
5658
246
            case detail::presentation_type::string:
5659
246
                return bool_reader_base::allow_text;
5660
5661
14
            case detail::presentation_type::int_generic:
5662
26
            case detail::presentation_type::int_binary:
5663
32
            case detail::presentation_type::int_decimal:
5664
42
            case detail::presentation_type::int_hex:
5665
56
            case detail::presentation_type::int_octal:
5666
62
            case detail::presentation_type::int_unsigned_decimal:
5667
62
                return bool_reader_base::allow_numeric;
5668
5669
630
            default:
5670
630
                return bool_reader_base::allow_text |
5671
630
                       bool_reader_base::allow_numeric;
5672
938
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
938
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
776
    {
5654
776
        SCN_GCC_COMPAT_PUSH
5655
776
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
776
        switch (specs.type) {
5658
108
            case detail::presentation_type::string:
5659
108
                return bool_reader_base::allow_text;
5660
5661
24
            case detail::presentation_type::int_generic:
5662
52
            case detail::presentation_type::int_binary:
5663
60
            case detail::presentation_type::int_decimal:
5664
76
            case detail::presentation_type::int_hex:
5665
92
            case detail::presentation_type::int_octal:
5666
106
            case detail::presentation_type::int_unsigned_decimal:
5667
106
                return bool_reader_base::allow_numeric;
5668
5669
562
            default:
5670
562
                return bool_reader_base::allow_text |
5671
562
                       bool_reader_base::allow_numeric;
5672
776
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
776
    }
5676
};
5677
5678
/////////////////////////////////////////////////////////////////
5679
// Character (code unit, code point) reader
5680
/////////////////////////////////////////////////////////////////
5681
5682
template <typename CharT>
5683
class code_unit_reader {
5684
public:
5685
    template <typename SourceRange>
5686
    auto read(const SourceRange& range, CharT& ch)
5687
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5688
2.32k
    {
5689
2.32k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
2.32k
        ch = *range.begin();
5691
2.32k
        return it;
5692
2.32k
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5688
366
    {
5689
366
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
366
        ch = *range.begin();
5691
366
        return it;
5692
366
    }
_ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5688
908
    {
5689
908
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
908
        ch = *range.begin();
5691
908
        return it;
5692
908
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5688
170
    {
5689
170
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
170
        ch = *range.begin();
5691
170
        return it;
5692
170
    }
_ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5688
880
    {
5689
880
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
880
        ch = *range.begin();
5691
880
        return it;
5692
880
    }
5693
};
5694
5695
template <typename CharT>
5696
class code_point_reader;
5697
5698
template <>
5699
class code_point_reader<char32_t> {
5700
public:
5701
    template <typename SourceRange>
5702
    auto read(const SourceRange& range, char32_t& cp)
5703
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5704
0
    {
5705
0
        auto result = read_code_point_into(range);
5706
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5707
0
            return detail::unexpected_scan_error(
5708
0
                scan_error::invalid_scanned_value, "Invalid code point");
5709
0
        }
5710
0
        cp = detail::decode_code_point_exhaustive_valid(
5711
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5712
0
                result.codepoint.data(), result.codepoint.size()});
5713
0
        return result.iterator;
5714
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5715
};
5716
5717
template <>
5718
class code_point_reader<wchar_t> {
5719
public:
5720
    template <typename SourceRange>
5721
    auto read(const SourceRange& range, wchar_t& ch)
5722
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5723
0
    {
5724
0
        code_point_reader<char32_t> reader{};
5725
0
        char32_t cp{};
5726
0
        auto ret = reader.read(range, cp);
5727
0
        if (SCN_UNLIKELY(!ret)) {
5728
0
            return unexpected(ret.error());
5729
0
        }
5730
5731
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5732
0
        ch = encoded_ch;
5733
0
        return *ret;
5734
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5735
};
5736
5737
template <typename ValueCharT>
5738
class char_reader_base {
5739
public:
5740
    constexpr char_reader_base() = default;
5741
5742
    bool skip_ws_before_read() const
5743
3.68k
    {
5744
3.68k
        return false;
5745
3.68k
    }
scn::v4::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5743
1.97k
    {
5744
1.97k
        return false;
5745
1.97k
    }
scn::v4::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5743
1.70k
    {
5744
1.70k
        return false;
5745
1.70k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5746
5747
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5748
4.02k
    {
5749
4.02k
        reader_error_handler eh{};
5750
4.02k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
0
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
4.02k
        else {
5754
4.02k
            detail::check_char_type_specs(specs, eh);
5755
4.02k
        }
5756
4.02k
        if (SCN_UNLIKELY(!eh)) {
5757
2.68k
            return detail::unexpected_scan_error(
5758
2.68k
                scan_error::invalid_format_string, eh.m_msg);
5759
2.68k
        }
5760
1.33k
        return {};
5761
4.02k
    }
scn::v4::impl::char_reader_base<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
2.75k
    {
5749
2.75k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
2.75k
        else {
5754
2.75k
            detail::check_char_type_specs(specs, eh);
5755
2.75k
        }
5756
2.75k
        if (SCN_UNLIKELY(!eh)) {
5757
2.05k
            return detail::unexpected_scan_error(
5758
2.05k
                scan_error::invalid_format_string, eh.m_msg);
5759
2.05k
        }
5760
704
        return {};
5761
2.75k
    }
scn::v4::impl::char_reader_base<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
1.27k
    {
5749
1.27k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
1.27k
        else {
5754
1.27k
            detail::check_char_type_specs(specs, eh);
5755
1.27k
        }
5756
1.27k
        if (SCN_UNLIKELY(!eh)) {
5757
636
            return detail::unexpected_scan_error(
5758
636
                scan_error::invalid_format_string, eh.m_msg);
5759
636
        }
5760
634
        return {};
5761
1.27k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::check_specs(scn::v4::detail::format_specs const&)
5762
};
5763
5764
template <typename CharT>
5765
class reader_impl_for_char : public char_reader_base<char> {
5766
public:
5767
    template <typename Range>
5768
    auto read_default(Range range, char& value, detail::locale_ref loc)
5769
        -> scan_expected<ranges::const_iterator_t<Range>>
5770
1.27k
    {
5771
1.27k
        SCN_UNUSED(loc);
5772
1.27k
        if constexpr (std::is_same_v<CharT, char>) {
5773
1.27k
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
0
        else {
5776
0
            SCN_UNUSED(range);
5777
0
            SCN_EXPECT(false);
5778
0
            SCN_UNREACHABLE;
5779
0
        }
5780
1.27k
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5770
366
    {
5771
366
        SCN_UNUSED(loc);
5772
366
        if constexpr (std::is_same_v<CharT, char>) {
5773
366
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
366
    }
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5770
908
    {
5771
908
        SCN_UNUSED(loc);
5772
908
        if constexpr (std::is_same_v<CharT, char>) {
5773
908
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
908
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5781
5782
    template <typename Range>
5783
    auto read_specs(Range range,
5784
                    const detail::format_specs& specs,
5785
                    char& value,
5786
                    detail::locale_ref loc)
5787
        -> scan_expected<ranges::const_iterator_t<Range>>
5788
698
    {
5789
698
        if (specs.type == detail::presentation_type::none ||
5790
698
            specs.type == detail::presentation_type::character) {
5791
640
            return read_default(range, value, loc);
5792
640
        }
5793
5794
58
        reader_impl_for_int<CharT> reader{};
5795
58
        signed char tmp_value{};
5796
58
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
58
        value = static_cast<char>(tmp_value);
5798
58
        return ret;
5799
698
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5788
402
    {
5789
402
        if (specs.type == detail::presentation_type::none ||
5790
402
            specs.type == detail::presentation_type::character) {
5791
366
            return read_default(range, value, loc);
5792
366
        }
5793
5794
36
        reader_impl_for_int<CharT> reader{};
5795
36
        signed char tmp_value{};
5796
36
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
36
        value = static_cast<char>(tmp_value);
5798
36
        return ret;
5799
402
    }
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5788
296
    {
5789
296
        if (specs.type == detail::presentation_type::none ||
5790
296
            specs.type == detail::presentation_type::character) {
5791
274
            return read_default(range, value, loc);
5792
274
        }
5793
5794
22
        reader_impl_for_int<CharT> reader{};
5795
22
        signed char tmp_value{};
5796
22
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
22
        value = static_cast<char>(tmp_value);
5798
22
        return ret;
5799
296
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5800
};
5801
5802
template <typename CharT>
5803
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5804
public:
5805
    template <typename Range>
5806
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5807
        -> scan_expected<ranges::const_iterator_t<Range>>
5808
1.05k
    {
5809
1.05k
        SCN_UNUSED(loc);
5810
1.05k
        if constexpr (std::is_same_v<CharT, char>) {
5811
0
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
1.05k
        else {
5814
1.05k
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
1.05k
        }
5816
1.05k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5808
170
    {
5809
170
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
170
        else {
5814
170
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
170
        }
5816
170
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5808
880
    {
5809
880
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
880
        else {
5814
880
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
880
        }
5816
880
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5817
5818
    template <typename Range>
5819
    auto read_specs(Range range,
5820
                    const detail::format_specs& specs,
5821
                    wchar_t& value,
5822
                    detail::locale_ref loc)
5823
        -> scan_expected<ranges::const_iterator_t<Range>>
5824
632
    {
5825
632
        if (specs.type == detail::presentation_type::none ||
5826
632
            specs.type == detail::presentation_type::character) {
5827
540
            return read_default(range, value, loc);
5828
540
        }
5829
5830
92
        reader_impl_for_int<CharT> reader{};
5831
92
        using integer_type =
5832
92
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
92
        integer_type tmp_value{};
5834
92
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
92
        value = static_cast<wchar_t>(tmp_value);
5836
92
        return ret;
5837
632
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5824
214
    {
5825
214
        if (specs.type == detail::presentation_type::none ||
5826
214
            specs.type == detail::presentation_type::character) {
5827
170
            return read_default(range, value, loc);
5828
170
        }
5829
5830
44
        reader_impl_for_int<CharT> reader{};
5831
44
        using integer_type =
5832
44
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
44
        integer_type tmp_value{};
5834
44
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
44
        value = static_cast<wchar_t>(tmp_value);
5836
44
        return ret;
5837
214
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5824
418
    {
5825
418
        if (specs.type == detail::presentation_type::none ||
5826
418
            specs.type == detail::presentation_type::character) {
5827
370
            return read_default(range, value, loc);
5828
370
        }
5829
5830
48
        reader_impl_for_int<CharT> reader{};
5831
48
        using integer_type =
5832
48
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
48
        integer_type tmp_value{};
5834
48
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
48
        value = static_cast<wchar_t>(tmp_value);
5836
48
        return ret;
5837
418
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5838
};
5839
5840
template <typename CharT>
5841
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5842
public:
5843
    template <typename Range>
5844
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5845
        -> scan_expected<ranges::const_iterator_t<Range>>
5846
0
    {
5847
0
        SCN_UNUSED(loc);
5848
0
        return code_point_reader<char32_t>{}.read(range, value);
5849
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5850
5851
    template <typename Range>
5852
    auto read_specs(Range range,
5853
                    const detail::format_specs& specs,
5854
                    char32_t& value,
5855
                    detail::locale_ref loc)
5856
        -> scan_expected<ranges::const_iterator_t<Range>>
5857
0
    {
5858
0
        SCN_UNUSED(specs);
5859
0
        return read_default(range, value, loc);
5860
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5861
};
5862
5863
/////////////////////////////////////////////////////////////////
5864
// Pointer reader
5865
/////////////////////////////////////////////////////////////////
5866
5867
template <typename CharT>
5868
class reader_impl_for_voidptr {
5869
public:
5870
    constexpr reader_impl_for_voidptr() = default;
5871
5872
    bool skip_ws_before_read() const
5873
2.40k
    {
5874
2.40k
        return true;
5875
2.40k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5873
1.28k
    {
5874
1.28k
        return true;
5875
1.28k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5873
1.11k
    {
5874
1.11k
        return true;
5875
1.11k
    }
5876
5877
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5878
4.02k
    {
5879
4.02k
        reader_error_handler eh{};
5880
4.02k
        detail::check_pointer_type_specs(specs, eh);
5881
4.02k
        if (SCN_UNLIKELY(!eh)) {
5882
2.82k
            return detail::unexpected_scan_error(
5883
2.82k
                scan_error::invalid_format_string, eh.m_msg);
5884
2.82k
        }
5885
1.20k
        return {};
5886
4.02k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
2.75k
    {
5879
2.75k
        reader_error_handler eh{};
5880
2.75k
        detail::check_pointer_type_specs(specs, eh);
5881
2.75k
        if (SCN_UNLIKELY(!eh)) {
5882
2.10k
            return detail::unexpected_scan_error(
5883
2.10k
                scan_error::invalid_format_string, eh.m_msg);
5884
2.10k
        }
5885
650
        return {};
5886
2.75k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
1.27k
    {
5879
1.27k
        reader_error_handler eh{};
5880
1.27k
        detail::check_pointer_type_specs(specs, eh);
5881
1.27k
        if (SCN_UNLIKELY(!eh)) {
5882
718
            return detail::unexpected_scan_error(
5883
718
                scan_error::invalid_format_string, eh.m_msg);
5884
718
        }
5885
552
        return {};
5886
1.27k
    }
5887
5888
    template <typename Range>
5889
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5890
        -> scan_expected<ranges::const_iterator_t<Range>>
5891
2.30k
    {
5892
2.30k
        detail::format_specs specs{};
5893
2.30k
        specs.type = detail::presentation_type::int_hex;
5894
5895
2.30k
        std::uintptr_t intvalue{};
5896
2.30k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
54
                                                                intvalue, loc));
5898
54
        value = reinterpret_cast<void*>(intvalue);
5899
54
        return result;
5900
2.30k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
912
    {
5892
912
        detail::format_specs specs{};
5893
912
        specs.type = detail::presentation_type::int_hex;
5894
5895
912
        std::uintptr_t intvalue{};
5896
912
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
912
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
342
    {
5892
342
        detail::format_specs specs{};
5893
342
        specs.type = detail::presentation_type::int_hex;
5894
5895
342
        std::uintptr_t intvalue{};
5896
342
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
342
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
884
    {
5892
884
        detail::format_specs specs{};
5893
884
        specs.type = detail::presentation_type::int_hex;
5894
5895
884
        std::uintptr_t intvalue{};
5896
884
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
44
                                                                intvalue, loc));
5898
44
        value = reinterpret_cast<void*>(intvalue);
5899
44
        return result;
5900
884
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
168
    {
5892
168
        detail::format_specs specs{};
5893
168
        specs.type = detail::presentation_type::int_hex;
5894
5895
168
        std::uintptr_t intvalue{};
5896
168
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
10
                                                                intvalue, loc));
5898
10
        value = reinterpret_cast<void*>(intvalue);
5899
10
        return result;
5900
168
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5901
5902
    template <typename Range>
5903
    auto read_specs(Range range,
5904
                    const detail::format_specs& specs,
5905
                    void*& value,
5906
                    detail::locale_ref loc)
5907
        -> scan_expected<ranges::const_iterator_t<Range>>
5908
1.16k
    {
5909
1.16k
        SCN_UNUSED(specs);
5910
1.16k
        return read_default(range, value, loc);
5911
1.16k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
342
    {
5909
342
        SCN_UNUSED(specs);
5910
342
        return read_default(range, value, loc);
5911
342
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
278
    {
5909
278
        SCN_UNUSED(specs);
5910
278
        return read_default(range, value, loc);
5911
278
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
168
    {
5909
168
        SCN_UNUSED(specs);
5910
168
        return read_default(range, value, loc);
5911
168
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
374
    {
5909
374
        SCN_UNUSED(specs);
5910
374
        return read_default(range, value, loc);
5911
374
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5912
};
5913
5914
/////////////////////////////////////////////////////////////////
5915
// Argument readers
5916
/////////////////////////////////////////////////////////////////
5917
5918
template <typename Range>
5919
auto skip_ws_before_if_required(bool is_required, Range range)
5920
    -> eof_expected<ranges::iterator_t<Range>>
5921
10.2k
{
5922
10.2k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
10.2k
    if (!is_required) {
5927
1.14k
        return range.begin();
5928
1.14k
    }
5929
5930
9.15k
    return skip_classic_whitespace(range);
5931
10.2k
}
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
5.70k
{
5922
5.70k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
5.70k
    if (!is_required) {
5927
634
        return range.begin();
5928
634
    }
5929
5930
5.07k
    return skip_classic_whitespace(range);
5931
5.70k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
4.59k
{
5922
4.59k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
4.59k
    if (!is_required) {
5927
510
        return range.begin();
5928
510
    }
5929
5930
4.08k
    return skip_classic_whitespace(range);
5931
4.59k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5932
5933
template <typename T, typename CharT>
5934
constexpr auto make_reader()
5935
15.5k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
5.16k
                       std::is_same_v<T, std::wstring_view>) {
5950
5.16k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
10.3k
                       std::is_same_v<T, std::wstring>) {
5954
10.3k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
15.5k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5935
3.38k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
3.38k
                       std::is_same_v<T, std::wstring>) {
5954
3.38k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
3.38k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5935
3.38k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
3.38k
                       std::is_same_v<T, std::wstring>) {
5954
3.38k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
3.38k
}
auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5935
3.38k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
3.38k
                       std::is_same_v<T, std::wstring_view>) {
5950
3.38k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
3.38k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5935
1.78k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
1.78k
                       std::is_same_v<T, std::wstring>) {
5954
1.78k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.78k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5935
1.78k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
1.78k
                       std::is_same_v<T, std::wstring>) {
5954
1.78k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.78k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5935
1.78k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
1.78k
                       std::is_same_v<T, std::wstring_view>) {
5950
1.78k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.78k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, wchar_t>()
5988
5989
template <typename Context>
5990
struct default_arg_reader {
5991
    using context_type = Context;
5992
    using char_type = typename context_type::char_type;
5993
    using args_type = basic_scan_args<detail::default_context<char_type>>;
5994
5995
    using range_type = typename context_type::range_type;
5996
    using iterator = ranges::iterator_t<range_type>;
5997
5998
    template <typename Reader, typename Range, typename T>
5999
    auto impl(Reader& rd, Range rng, T& value)
6000
        -> scan_expected<ranges::iterator_t<Range>>
6001
10.2k
    {
6002
10.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
10.2k
                        .transform_error(make_eof_scan_error));
6004
10.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
10.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
634
    {
6002
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
634
                        .transform_error(make_eof_scan_error));
6004
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
634
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
634
    {
6002
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
634
                        .transform_error(make_eof_scan_error));
6004
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
634
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
634
    {
6002
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
634
                        .transform_error(make_eof_scan_error));
6004
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
634
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
634
    {
6002
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
634
                        .transform_error(make_eof_scan_error));
6004
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
634
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
634
    {
6002
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
634
                        .transform_error(make_eof_scan_error));
6004
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
634
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
634
    {
6002
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
634
                        .transform_error(make_eof_scan_error));
6004
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
634
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
634
    {
6002
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
634
                        .transform_error(make_eof_scan_error));
6004
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
634
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
634
    {
6002
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
634
                        .transform_error(make_eof_scan_error));
6004
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
634
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
634
    {
6002
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
634
                        .transform_error(make_eof_scan_error));
6004
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
634
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
510
    {
6002
510
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
510
                        .transform_error(make_eof_scan_error));
6004
510
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
510
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
510
    {
6002
510
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
510
                        .transform_error(make_eof_scan_error));
6004
510
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
510
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
510
    {
6002
510
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
510
                        .transform_error(make_eof_scan_error));
6004
510
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
510
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
510
    {
6002
510
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
510
                        .transform_error(make_eof_scan_error));
6004
510
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
510
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
510
    {
6002
510
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
510
                        .transform_error(make_eof_scan_error));
6004
510
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
510
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
510
    {
6002
510
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
510
                        .transform_error(make_eof_scan_error));
6004
510
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
510
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
510
    {
6002
510
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
510
                        .transform_error(make_eof_scan_error));
6004
510
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
510
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
510
    {
6002
510
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
510
                        .transform_error(make_eof_scan_error));
6004
510
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
510
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
510
    {
6002
510
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
510
                        .transform_error(make_eof_scan_error));
6004
510
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
510
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
6006
6007
    template <typename T>
6008
    scan_expected<iterator> operator()(T& value)
6009
10.2k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
10.2k
                          basic_contiguous_scan_context<char_type>>) {
6014
10.2k
            auto rd = make_reader<T, char_type>();
6015
10.2k
            return impl(rd, range, value);
6016
        }
6017
0
        else if constexpr (!detail::is_type_disabled<T>) {
6018
0
            auto rd = make_reader<T, char_type>();
6019
0
            if (!is_segment_contiguous(range)) {
6020
0
                return impl(rd, range, value);
6021
0
            }
6022
0
            auto crange = get_as_contiguous(range);
6023
0
            SCN_TRY(it, impl(rd, crange, value));
6024
0
            return ranges::next(range.begin(),
6025
0
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
10.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6009
634
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
634
                          basic_contiguous_scan_context<char_type>>) {
6014
634
            auto rd = make_reader<T, char_type>();
6015
634
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
634
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
634
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
634
                          basic_contiguous_scan_context<char_type>>) {
6014
634
            auto rd = make_reader<T, char_type>();
6015
634
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
634
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6009
634
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
634
                          basic_contiguous_scan_context<char_type>>) {
6014
634
            auto rd = make_reader<T, char_type>();
6015
634
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
634
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6009
634
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
634
                          basic_contiguous_scan_context<char_type>>) {
6014
634
            auto rd = make_reader<T, char_type>();
6015
634
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
634
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6009
634
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
634
                          basic_contiguous_scan_context<char_type>>) {
6014
634
            auto rd = make_reader<T, char_type>();
6015
634
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
634
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6009
634
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
634
                          basic_contiguous_scan_context<char_type>>) {
6014
634
            auto rd = make_reader<T, char_type>();
6015
634
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
634
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
634
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
634
                          basic_contiguous_scan_context<char_type>>) {
6014
634
            auto rd = make_reader<T, char_type>();
6015
634
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
634
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
634
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
634
                          basic_contiguous_scan_context<char_type>>) {
6014
634
            auto rd = make_reader<T, char_type>();
6015
634
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
634
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6009
634
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
634
                          basic_contiguous_scan_context<char_type>>) {
6014
634
            auto rd = make_reader<T, char_type>();
6015
634
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
634
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6009
510
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
510
                          basic_contiguous_scan_context<char_type>>) {
6014
510
            auto rd = make_reader<T, char_type>();
6015
510
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
510
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
510
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
510
                          basic_contiguous_scan_context<char_type>>) {
6014
510
            auto rd = make_reader<T, char_type>();
6015
510
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
510
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6009
510
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
510
                          basic_contiguous_scan_context<char_type>>) {
6014
510
            auto rd = make_reader<T, char_type>();
6015
510
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
510
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6009
510
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
510
                          basic_contiguous_scan_context<char_type>>) {
6014
510
            auto rd = make_reader<T, char_type>();
6015
510
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
510
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6009
510
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
510
                          basic_contiguous_scan_context<char_type>>) {
6014
510
            auto rd = make_reader<T, char_type>();
6015
510
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
510
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6009
510
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
510
                          basic_contiguous_scan_context<char_type>>) {
6014
510
            auto rd = make_reader<T, char_type>();
6015
510
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
510
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
510
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
510
                          basic_contiguous_scan_context<char_type>>) {
6014
510
            auto rd = make_reader<T, char_type>();
6015
510
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
510
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
510
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
510
                          basic_contiguous_scan_context<char_type>>) {
6014
510
            auto rd = make_reader<T, char_type>();
6015
510
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
510
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6009
510
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
510
                          basic_contiguous_scan_context<char_type>>) {
6014
510
            auto rd = make_reader<T, char_type>();
6015
510
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
510
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
6032
6033
    detail::default_context<char_type> make_custom_ctx()
6034
0
    {
6035
        if constexpr (std::is_same_v<
6036
                          context_type,
6037
0
                          basic_contiguous_scan_context<char_type>>) {
6038
0
            auto it =
6039
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6040
0
                    std::basic_string_view<char_type>(range.data(),
6041
0
                                                      range.size()),
6042
0
                    0};
6043
0
            return {it, args, loc};
6044
        }
6045
0
        else {
6046
0
            return {range.begin(), args, loc};
6047
0
        }
6048
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::make_custom_ctx()
6049
6050
    scan_expected<iterator> operator()(
6051
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6052
0
    {
6053
0
        if constexpr (!detail::is_type_disabled<void>) {
6054
0
            basic_scan_parse_context<char_type> parse_ctx{
6055
0
                source_tag<range_type>, {}};
6056
0
            auto ctx = make_custom_ctx();
6057
0
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6058
6059
            if constexpr (std::is_same_v<
6060
                              context_type,
6061
0
                              basic_contiguous_scan_context<char_type>>) {
6062
0
                return range.begin() + ctx.begin().position();
6063
            }
6064
0
            else {
6065
0
                return ctx.begin();
6066
0
            }
6067
        }
6068
        else {
6069
            SCN_EXPECT(false);
6070
            SCN_UNREACHABLE;
6071
        }
6072
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
6073
6074
    range_type range;
6075
    args_type args;
6076
    detail::locale_ref loc;
6077
};
6078
6079
template <typename Iterator>
6080
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
6081
6082
template <typename Range>
6083
auto skip_fill(Range range,
6084
               std::ptrdiff_t max_width,
6085
               const detail::fill_type& fill,
6086
               bool want_skipped_width)
6087
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6088
4.34k
{
6089
4.34k
    using char_type = detail::char_t<Range>;
6090
4.34k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
4.34k
    if (fill.size() <= sizeof(char_type)) {
6093
2.94k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
4.72k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
906
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
2.30k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
708
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
814
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
2.94k
        if (max_width == 0) {
6097
1.59k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.59k
            if (want_skipped_width) {
6100
244
                auto prefix_width =
6101
244
                    static_cast<std::ptrdiff_t>(
6102
244
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
244
                    ranges::distance(range.begin(), it);
6104
244
                return result_type{it, prefix_width};
6105
244
            }
6106
1.35k
            return result_type{it, 0};
6107
1.59k
        }
6108
6109
1.34k
        auto max_width_view = take_width(range, max_width);
6110
1.34k
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
1.34k
        if (want_skipped_width) {
6113
1.34k
            return result_type{w_it.base(), max_width - w_it.count()};
6114
1.34k
        }
6115
0
        return result_type{w_it.base(), 0};
6116
1.34k
    }
6117
6118
1.40k
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
1.40k
    if (max_width == 0) {
6120
316
        auto it = read_while_code_units(range, fill_chars);
6121
6122
316
        if (want_skipped_width) {
6123
94
            auto prefix_width =
6124
94
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
94
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
94
            return result_type{it, prefix_width};
6127
94
        }
6128
222
        return result_type{it, 0};
6129
316
    }
6130
6131
1.09k
    auto max_width_view = take_width(range, max_width);
6132
1.09k
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
1.09k
    if (want_skipped_width) {
6135
1.09k
        return result_type{w_it.base(), max_width - w_it.count()};
6136
1.09k
    }
6137
0
    return result_type{w_it.base(), 0};
6138
1.09k
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.13k
{
6089
1.13k
    using char_type = detail::char_t<Range>;
6090
1.13k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.13k
    if (fill.size() <= sizeof(char_type)) {
6093
488
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
488
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
488
        if (max_width == 0) {
6097
384
            auto it = read_while_code_unit(range, pred);
6098
6099
384
            if (want_skipped_width) {
6100
106
                auto prefix_width =
6101
106
                    static_cast<std::ptrdiff_t>(
6102
106
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
106
                    ranges::distance(range.begin(), it);
6104
106
                return result_type{it, prefix_width};
6105
106
            }
6106
278
            return result_type{it, 0};
6107
384
        }
6108
6109
104
        auto max_width_view = take_width(range, max_width);
6110
104
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
104
        if (want_skipped_width) {
6113
104
            return result_type{w_it.base(), max_width - w_it.count()};
6114
104
        }
6115
0
        return result_type{w_it.base(), 0};
6116
104
    }
6117
6118
650
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
650
    if (max_width == 0) {
6120
316
        auto it = read_while_code_units(range, fill_chars);
6121
6122
316
        if (want_skipped_width) {
6123
94
            auto prefix_width =
6124
94
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
94
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
94
            return result_type{it, prefix_width};
6127
94
        }
6128
222
        return result_type{it, 0};
6129
316
    }
6130
6131
334
    auto max_width_view = take_width(range, max_width);
6132
334
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
334
    if (want_skipped_width) {
6135
334
        return result_type{w_it.base(), max_width - w_it.count()};
6136
334
    }
6137
0
    return result_type{w_it.base(), 0};
6138
334
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.41k
{
6089
1.41k
    using char_type = detail::char_t<Range>;
6090
1.41k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.41k
    if (fill.size() <= sizeof(char_type)) {
6093
1.41k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
1.41k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
1.41k
        if (max_width == 0) {
6097
1.21k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.21k
            if (want_skipped_width) {
6100
138
                auto prefix_width =
6101
138
                    static_cast<std::ptrdiff_t>(
6102
138
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
138
                    ranges::distance(range.begin(), it);
6104
138
                return result_type{it, prefix_width};
6105
138
            }
6106
1.07k
            return result_type{it, 0};
6107
1.21k
        }
6108
6109
198
        auto max_width_view = take_width(range, max_width);
6110
198
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
198
        if (want_skipped_width) {
6113
198
            return result_type{w_it.base(), max_width - w_it.count()};
6114
198
        }
6115
0
        return result_type{w_it.base(), 0};
6116
198
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.24k
{
6089
1.24k
    using char_type = detail::char_t<Range>;
6090
1.24k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.24k
    if (fill.size() <= sizeof(char_type)) {
6093
492
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
492
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
492
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
492
        auto max_width_view = take_width(range, max_width);
6110
492
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
492
        if (want_skipped_width) {
6113
492
            return result_type{w_it.base(), max_width - w_it.count()};
6114
492
        }
6115
0
        return result_type{w_it.base(), 0};
6116
492
    }
6117
6118
756
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
756
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
756
    auto max_width_view = take_width(range, max_width);
6132
756
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
756
    if (want_skipped_width) {
6135
756
        return result_type{w_it.base(), max_width - w_it.count()};
6136
756
    }
6137
0
    return result_type{w_it.base(), 0};
6138
756
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
550
{
6089
550
    using char_type = detail::char_t<Range>;
6090
550
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
550
    if (fill.size() <= sizeof(char_type)) {
6093
550
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
550
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
550
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
550
        auto max_width_view = take_width(range, max_width);
6110
550
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
550
        if (want_skipped_width) {
6113
550
            return result_type{w_it.base(), max_width - w_it.count()};
6114
550
        }
6115
0
        return result_type{w_it.base(), 0};
6116
550
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
6139
6140
SCN_MAYBE_UNUSED constexpr scan_expected<void> check_widths_for_arg_reader(
6141
    const detail::format_specs& specs,
6142
    std::ptrdiff_t prefix_width,
6143
    std::ptrdiff_t value_width,
6144
    std::ptrdiff_t postfix_width)
6145
8.13k
{
6146
8.13k
    if (specs.width != 0) {
6147
2.08k
        if (prefix_width + value_width + postfix_width < specs.width) {
6148
912
            return detail::unexpected_scan_error(
6149
912
                scan_error::length_too_short,
6150
912
                "Scanned value too narrow, width did not exceed what "
6151
912
                "was specified in the format string");
6152
912
        }
6153
2.08k
    }
6154
7.22k
    if (specs.precision != 0) {
6155
        // Ensured by take_width_view
6156
3.01k
        SCN_ENSURE(prefix_width + value_width + postfix_width <=
6157
3.01k
                   specs.precision);
6158
3.01k
    }
6159
7.22k
    return {};
6160
7.22k
}
6161
6162
template <typename Context>
6163
struct arg_reader {
6164
    using context_type = Context;
6165
    using char_type = typename context_type::char_type;
6166
6167
    using range_type = typename context_type::range_type;
6168
    using iterator = ranges::iterator_t<range_type>;
6169
6170
    template <typename Range>
6171
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6172
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6173
19.5k
    {
6174
19.5k
        const bool need_skipped_width =
6175
19.5k
            specs.width != 0 || specs.precision != 0;
6176
19.5k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
19.5k
        if (specs.align == detail::align_type::right ||
6180
19.5k
            specs.align == detail::align_type::center) {
6181
3.08k
            return skip_fill(rng, specs.precision, specs.fill,
6182
3.08k
                             need_skipped_width);
6183
3.08k
        }
6184
16.5k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
8.22k
            if (specs.precision != 0) {
6188
3.86k
                auto max_width_view = take_width(rng, specs.precision);
6189
3.86k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
3.49k
                                  .transform_error(make_eof_scan_error));
6191
3.49k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
3.86k
            }
6193
8.72k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
8.72k
                            make_eof_scan_error));
6195
6196
8.72k
            if (need_skipped_width) {
6197
2.92k
                return result_type{
6198
2.92k
                    it,
6199
2.92k
                    calculate_text_width(make_contiguous_buffer(
6200
2.92k
                                             ranges::subrange{rng.begin(), it})
6201
2.92k
                                             .view())};
6202
2.92k
            }
6203
1.43k
            return result_type{it, 0};
6204
8.72k
        }
6205
6206
8.27k
        return result_type{rng.begin(), 0};
6207
16.5k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
5.93k
    {
6174
5.93k
        const bool need_skipped_width =
6175
5.93k
            specs.width != 0 || specs.precision != 0;
6176
5.93k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
5.93k
        if (specs.align == detail::align_type::right ||
6180
5.93k
            specs.align == detail::align_type::center) {
6181
1.24k
            return skip_fill(rng, specs.precision, specs.fill,
6182
1.24k
                             need_skipped_width);
6183
1.24k
        }
6184
4.68k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.47k
            if (specs.precision != 0) {
6188
2.47k
                auto max_width_view = take_width(rng, specs.precision);
6189
2.47k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
2.22k
                                  .transform_error(make_eof_scan_error));
6191
2.22k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
2.47k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
2.20k
        return result_type{rng.begin(), 0};
6207
4.68k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
6.43k
    {
6174
6.43k
        const bool need_skipped_width =
6175
6.43k
            specs.width != 0 || specs.precision != 0;
6176
6.43k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
6.43k
        if (specs.align == detail::align_type::right ||
6180
6.43k
            specs.align == detail::align_type::center) {
6181
462
            return skip_fill(rng, specs.precision, specs.fill,
6182
462
                             need_skipped_width);
6183
462
        }
6184
5.96k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.74k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
3.49k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
3.49k
                            make_eof_scan_error));
6195
6196
3.49k
            if (need_skipped_width) {
6197
1.09k
                return result_type{
6198
1.09k
                    it,
6199
1.09k
                    calculate_text_width(make_contiguous_buffer(
6200
1.09k
                                             ranges::subrange{rng.begin(), it})
6201
1.09k
                                             .view())};
6202
1.09k
            }
6203
654
            return result_type{it, 0};
6204
3.49k
        }
6205
6206
4.22k
        return result_type{rng.begin(), 0};
6207
5.96k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
2.73k
    {
6174
2.73k
        const bool need_skipped_width =
6175
2.73k
            specs.width != 0 || specs.precision != 0;
6176
2.73k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
2.73k
        if (specs.align == detail::align_type::right ||
6180
2.73k
            specs.align == detail::align_type::center) {
6181
550
            return skip_fill(rng, specs.precision, specs.fill,
6182
550
                             need_skipped_width);
6183
550
        }
6184
2.18k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.38k
            if (specs.precision != 0) {
6188
1.38k
                auto max_width_view = take_width(rng, specs.precision);
6189
1.38k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
1.27k
                                  .transform_error(make_eof_scan_error));
6191
1.27k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
1.38k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
798
        return result_type{rng.begin(), 0};
6207
2.18k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
4.49k
    {
6174
4.49k
        const bool need_skipped_width =
6175
4.49k
            specs.width != 0 || specs.precision != 0;
6176
4.49k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
4.49k
        if (specs.align == detail::align_type::right ||
6180
4.49k
            specs.align == detail::align_type::center) {
6181
822
            return skip_fill(rng, specs.precision, specs.fill,
6182
822
                             need_skipped_width);
6183
822
        }
6184
3.67k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.61k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
5.23k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
5.23k
                            make_eof_scan_error));
6195
6196
5.23k
            if (need_skipped_width) {
6197
1.83k
                return result_type{
6198
1.83k
                    it,
6199
1.83k
                    calculate_text_width(make_contiguous_buffer(
6200
1.83k
                                             ranges::subrange{rng.begin(), it})
6201
1.83k
                                             .view())};
6202
1.83k
            }
6203
784
            return result_type{it, 0};
6204
5.23k
        }
6205
6206
1.05k
        return result_type{rng.begin(), 0};
6207
3.67k
    }
6208
6209
    template <typename Range>
6210
    auto impl_postfix(Range rng,
6211
                      bool rd_skip_ws_before_read,
6212
                      std::ptrdiff_t prefix_width,
6213
                      std::ptrdiff_t value_width)
6214
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6215
6.05k
    {
6216
6.05k
        const bool need_skipped_width =
6217
6.05k
            specs.width != 0 || specs.precision != 0;
6218
6.05k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
6.05k
        if (specs.align == detail::align_type::left ||
6221
6.05k
            specs.align == detail::align_type::center) {
6222
1.55k
            if (specs.precision != 0 &&
6223
1.55k
                specs.precision - value_width - prefix_width == 0) {
6224
290
                return result_type{rng.begin(), 0};
6225
290
            }
6226
1.26k
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
1.26k
                             specs.fill, need_skipped_width);
6228
1.55k
        }
6229
4.50k
        if (specs.align == detail::align_type::none &&
6230
4.50k
            !rd_skip_ws_before_read &&
6231
4.50k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
3.63k
             (specs.precision != 0 &&
6233
3.09k
              prefix_width + value_width < specs.precision))) {
6234
1.61k
            if (specs.precision != 0) {
6235
1.06k
                const auto initial_width =
6236
1.06k
                    specs.precision - prefix_width - value_width;
6237
1.06k
                auto max_width_view = take_width(rng, initial_width);
6238
1.06k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
1.06k
                                  .transform_error(make_eof_scan_error));
6240
1.06k
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
1.06k
            }
6242
1.09k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
1.09k
                            make_eof_scan_error));
6244
6245
1.09k
            if (need_skipped_width) {
6246
546
                return result_type{
6247
546
                    it,
6248
546
                    calculate_text_width(make_contiguous_buffer(
6249
546
                                             ranges::subrange{rng.begin(), it})
6250
546
                                             .view())};
6251
546
            }
6252
0
            return result_type{it, 0};
6253
1.09k
        }
6254
2.89k
        return result_type{rng.begin(), 0};
6255
4.50k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
3.56k
    {
6216
3.56k
        const bool need_skipped_width =
6217
3.56k
            specs.width != 0 || specs.precision != 0;
6218
3.56k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
3.56k
        if (specs.align == detail::align_type::left ||
6221
3.56k
            specs.align == detail::align_type::center) {
6222
830
            if (specs.precision != 0 &&
6223
830
                specs.precision - value_width - prefix_width == 0) {
6224
154
                return result_type{rng.begin(), 0};
6225
154
            }
6226
676
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
676
                             specs.fill, need_skipped_width);
6228
830
        }
6229
2.73k
        if (specs.align == detail::align_type::none &&
6230
2.73k
            !rd_skip_ws_before_read &&
6231
2.73k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
2.27k
             (specs.precision != 0 &&
6233
2.11k
              prefix_width + value_width < specs.precision))) {
6234
770
            if (specs.precision != 0) {
6235
606
                const auto initial_width =
6236
606
                    specs.precision - prefix_width - value_width;
6237
606
                auto max_width_view = take_width(rng, initial_width);
6238
606
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
606
                                  .transform_error(make_eof_scan_error));
6240
606
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
606
            }
6242
328
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
328
                            make_eof_scan_error));
6244
6245
328
            if (need_skipped_width) {
6246
164
                return result_type{
6247
164
                    it,
6248
164
                    calculate_text_width(make_contiguous_buffer(
6249
164
                                             ranges::subrange{rng.begin(), it})
6250
164
                                             .view())};
6251
164
            }
6252
0
            return result_type{it, 0};
6253
328
        }
6254
1.96k
        return result_type{rng.begin(), 0};
6255
2.73k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
2.48k
    {
6216
2.48k
        const bool need_skipped_width =
6217
2.48k
            specs.width != 0 || specs.precision != 0;
6218
2.48k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
2.48k
        if (specs.align == detail::align_type::left ||
6221
2.48k
            specs.align == detail::align_type::center) {
6222
724
            if (specs.precision != 0 &&
6223
724
                specs.precision - value_width - prefix_width == 0) {
6224
136
                return result_type{rng.begin(), 0};
6225
136
            }
6226
588
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
588
                             specs.fill, need_skipped_width);
6228
724
        }
6229
1.76k
        if (specs.align == detail::align_type::none &&
6230
1.76k
            !rd_skip_ws_before_read &&
6231
1.76k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
1.35k
             (specs.precision != 0 &&
6233
976
              prefix_width + value_width < specs.precision))) {
6234
842
            if (specs.precision != 0) {
6235
460
                const auto initial_width =
6236
460
                    specs.precision - prefix_width - value_width;
6237
460
                auto max_width_view = take_width(rng, initial_width);
6238
460
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
460
                                  .transform_error(make_eof_scan_error));
6240
460
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
460
            }
6242
764
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
764
                            make_eof_scan_error));
6244
6245
764
            if (need_skipped_width) {
6246
382
                return result_type{
6247
382
                    it,
6248
382
                    calculate_text_width(make_contiguous_buffer(
6249
382
                                             ranges::subrange{rng.begin(), it})
6250
382
                                             .view())};
6251
382
            }
6252
0
            return result_type{it, 0};
6253
764
        }
6254
922
        return result_type{rng.begin(), 0};
6255
1.76k
    }
6256
6257
    template <typename Reader, typename Range, typename T>
6258
    auto impl(Reader& rd, Range rng, T& value)
6259
        -> scan_expected<ranges::iterator_t<Range>>
6260
19.5k
    {
6261
19.5k
        const bool need_skipped_width =
6262
19.5k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
19.5k
        auto it = rng.begin();
6266
19.5k
        std::ptrdiff_t prefix_width = 0;
6267
19.5k
        if (specs.precision != 0) {
6268
8.66k
            auto max_width_view = take_width(rng, specs.precision);
6269
8.66k
            SCN_TRY(prefix_result,
6270
8.29k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
8.29k
            it = prefix_result.first.base();
6272
8.29k
            prefix_width = prefix_result.second;
6273
8.29k
        }
6274
10.9k
        else {
6275
10.9k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
10.9k
            std::tie(it, prefix_width) = prefix_result;
6277
10.9k
        }
6278
19.2k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
19.2k
        std::ptrdiff_t value_width = 0;
6282
19.2k
        if (specs.precision != 0) {
6283
8.29k
            if (specs.precision <= prefix_width) {
6284
104
                return detail::unexpected_scan_error(
6285
104
                    scan_error::invalid_fill,
6286
104
                    "Too many fill characters before value, "
6287
104
                    "precision exceeded before reading value");
6288
104
            }
6289
6290
8.19k
            const auto initial_width = specs.precision - prefix_width;
6291
8.19k
            auto max_width_view =
6292
8.19k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
8.19k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
3.01k
            it = w_it.base();
6295
3.01k
            value_width = initial_width - w_it.count();
6296
3.01k
        }
6297
10.9k
        else {
6298
10.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
5.12k
                                             specs, value, loc));
6300
6301
5.12k
            if (need_skipped_width) {
6302
2.03k
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
2.03k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
2.03k
                        .view()));
6305
2.03k
            }
6306
5.12k
        }
6307
6308
        // Read postfix
6309
8.13k
        std::ptrdiff_t postfix_width = 0;
6310
8.13k
        if (it != rng.end()) {
6311
6.05k
            SCN_TRY(postfix_result,
6312
6.05k
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
6.05k
                                 rd.skip_ws_before_read(), prefix_width,
6314
6.05k
                                 value_width));
6315
6.05k
            std::tie(it, postfix_width) = postfix_result;
6316
6.05k
        }
6317
6318
8.13k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
8.13k
            specs, prefix_width, value_width, postfix_width));
6320
7.22k
        return it;
6321
8.13k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSC_IwNSD_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSC_IcNSD_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
726
    {
6261
726
        const bool need_skipped_width =
6262
726
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
726
        auto it = rng.begin();
6266
726
        std::ptrdiff_t prefix_width = 0;
6267
726
        if (specs.precision != 0) {
6268
420
            auto max_width_view = take_width(rng, specs.precision);
6269
420
            SCN_TRY(prefix_result,
6270
386
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
386
            it = prefix_result.first.base();
6272
386
            prefix_width = prefix_result.second;
6273
386
        }
6274
306
        else {
6275
306
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
306
            std::tie(it, prefix_width) = prefix_result;
6277
306
        }
6278
692
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
692
        std::ptrdiff_t value_width = 0;
6282
692
        if (specs.precision != 0) {
6283
386
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
380
            const auto initial_width = specs.precision - prefix_width;
6291
380
            auto max_width_view =
6292
380
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
380
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
306
        else {
6298
306
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
726
    {
6261
726
        const bool need_skipped_width =
6262
726
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
726
        auto it = rng.begin();
6266
726
        std::ptrdiff_t prefix_width = 0;
6267
726
        if (specs.precision != 0) {
6268
420
            auto max_width_view = take_width(rng, specs.precision);
6269
420
            SCN_TRY(prefix_result,
6270
386
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
386
            it = prefix_result.first.base();
6272
386
            prefix_width = prefix_result.second;
6273
386
        }
6274
306
        else {
6275
306
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
306
            std::tie(it, prefix_width) = prefix_result;
6277
306
        }
6278
692
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
692
        std::ptrdiff_t value_width = 0;
6282
692
        if (specs.precision != 0) {
6283
386
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
380
            const auto initial_width = specs.precision - prefix_width;
6291
380
            auto max_width_view =
6292
380
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
380
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
306
        else {
6298
306
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
650
    {
6261
650
        const bool need_skipped_width =
6262
650
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
650
        auto it = rng.begin();
6266
650
        std::ptrdiff_t prefix_width = 0;
6267
650
        if (specs.precision != 0) {
6268
372
            auto max_width_view = take_width(rng, specs.precision);
6269
372
            SCN_TRY(prefix_result,
6270
346
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
346
            it = prefix_result.first.base();
6272
346
            prefix_width = prefix_result.second;
6273
346
        }
6274
278
        else {
6275
278
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
278
            std::tie(it, prefix_width) = prefix_result;
6277
278
        }
6278
624
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
624
        std::ptrdiff_t value_width = 0;
6282
624
        if (specs.precision != 0) {
6283
346
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
342
            const auto initial_width = specs.precision - prefix_width;
6291
342
            auto max_width_view =
6292
342
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
342
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
278
        else {
6298
278
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
986
    {
6261
986
        const bool need_skipped_width =
6262
986
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
986
        auto it = rng.begin();
6266
986
        std::ptrdiff_t prefix_width = 0;
6267
986
        if (specs.precision != 0) {
6268
544
            auto max_width_view = take_width(rng, specs.precision);
6269
544
            SCN_TRY(prefix_result,
6270
506
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
506
            it = prefix_result.first.base();
6272
506
            prefix_width = prefix_result.second;
6273
506
        }
6274
442
        else {
6275
442
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
442
            std::tie(it, prefix_width) = prefix_result;
6277
442
        }
6278
948
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
948
        std::ptrdiff_t value_width = 0;
6282
948
        if (specs.precision != 0) {
6283
506
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
496
            const auto initial_width = specs.precision - prefix_width;
6291
496
            auto max_width_view =
6292
496
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
496
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
442
        else {
6298
442
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
704
    {
6261
704
        const bool need_skipped_width =
6262
704
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
704
        auto it = rng.begin();
6266
704
        std::ptrdiff_t prefix_width = 0;
6267
704
        if (specs.precision != 0) {
6268
408
            auto max_width_view = take_width(rng, specs.precision);
6269
408
            SCN_TRY(prefix_result,
6270
408
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
408
            it = prefix_result.first.base();
6272
408
            prefix_width = prefix_result.second;
6273
408
        }
6274
296
        else {
6275
296
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
296
            std::tie(it, prefix_width) = prefix_result;
6277
296
        }
6278
704
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
704
        std::ptrdiff_t value_width = 0;
6282
704
        if (specs.precision != 0) {
6283
408
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
402
            const auto initial_width = specs.precision - prefix_width;
6291
402
            auto max_width_view =
6292
402
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
402
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
366
            it = w_it.base();
6295
366
            value_width = initial_width - w_it.count();
6296
366
        }
6297
296
        else {
6298
296
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
274
                                             specs, value, loc));
6300
6301
274
            if (need_skipped_width) {
6302
196
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
196
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
196
                        .view()));
6305
196
            }
6306
274
        }
6307
6308
        // Read postfix
6309
640
        std::ptrdiff_t postfix_width = 0;
6310
640
        if (it != rng.end()) {
6311
640
            SCN_TRY(postfix_result,
6312
640
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
640
                                 rd.skip_ws_before_read(), prefix_width,
6314
640
                                 value_width));
6315
640
            std::tie(it, postfix_width) = postfix_result;
6316
640
        }
6317
6318
640
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
640
            specs, prefix_width, value_width, postfix_width));
6320
468
        return it;
6321
640
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
738
    {
6261
738
        const bool need_skipped_width =
6262
738
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
738
        auto it = rng.begin();
6266
738
        std::ptrdiff_t prefix_width = 0;
6267
738
        if (specs.precision != 0) {
6268
430
            auto max_width_view = take_width(rng, specs.precision);
6269
430
            SCN_TRY(prefix_result,
6270
398
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
398
            it = prefix_result.first.base();
6272
398
            prefix_width = prefix_result.second;
6273
398
        }
6274
308
        else {
6275
308
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
308
            std::tie(it, prefix_width) = prefix_result;
6277
308
        }
6278
706
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
706
        std::ptrdiff_t value_width = 0;
6282
706
        if (specs.precision != 0) {
6283
398
            if (specs.precision <= prefix_width) {
6284
8
                return detail::unexpected_scan_error(
6285
8
                    scan_error::invalid_fill,
6286
8
                    "Too many fill characters before value, "
6287
8
                    "precision exceeded before reading value");
6288
8
            }
6289
6290
390
            const auto initial_width = specs.precision - prefix_width;
6291
390
            auto max_width_view =
6292
390
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
390
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
308
        else {
6298
308
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.61k
    {
6261
2.61k
        const bool need_skipped_width =
6262
2.61k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.61k
        auto it = rng.begin();
6266
2.61k
        std::ptrdiff_t prefix_width = 0;
6267
2.61k
        if (specs.precision != 0) {
6268
1.11k
            auto max_width_view = take_width(rng, specs.precision);
6269
1.11k
            SCN_TRY(prefix_result,
6270
1.08k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
1.08k
            it = prefix_result.first.base();
6272
1.08k
            prefix_width = prefix_result.second;
6273
1.08k
        }
6274
1.49k
        else {
6275
1.49k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.49k
            std::tie(it, prefix_width) = prefix_result;
6277
1.49k
        }
6278
2.58k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.58k
        std::ptrdiff_t value_width = 0;
6282
2.58k
        if (specs.precision != 0) {
6283
1.08k
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
1.07k
            const auto initial_width = specs.precision - prefix_width;
6291
1.07k
            auto max_width_view =
6292
1.07k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
1.07k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
482
            it = w_it.base();
6295
482
            value_width = initial_width - w_it.count();
6296
482
        }
6297
1.49k
        else {
6298
1.49k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
848
                                             specs, value, loc));
6300
6301
848
            if (need_skipped_width) {
6302
216
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
216
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
216
                        .view()));
6305
216
            }
6306
848
        }
6307
6308
        // Read postfix
6309
1.33k
        std::ptrdiff_t postfix_width = 0;
6310
1.33k
        if (it != rng.end()) {
6311
976
            SCN_TRY(postfix_result,
6312
976
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
976
                                 rd.skip_ws_before_read(), prefix_width,
6314
976
                                 value_width));
6315
976
            std::tie(it, postfix_width) = postfix_result;
6316
976
        }
6317
6318
1.33k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.33k
            specs, prefix_width, value_width, postfix_width));
6320
1.24k
        return it;
6321
1.33k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.61k
    {
6261
2.61k
        const bool need_skipped_width =
6262
2.61k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.61k
        auto it = rng.begin();
6266
2.61k
        std::ptrdiff_t prefix_width = 0;
6267
2.61k
        if (specs.precision != 0) {
6268
1.11k
            auto max_width_view = take_width(rng, specs.precision);
6269
1.11k
            SCN_TRY(prefix_result,
6270
1.08k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
1.08k
            it = prefix_result.first.base();
6272
1.08k
            prefix_width = prefix_result.second;
6273
1.08k
        }
6274
1.49k
        else {
6275
1.49k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.49k
            std::tie(it, prefix_width) = prefix_result;
6277
1.49k
        }
6278
2.58k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.58k
        std::ptrdiff_t value_width = 0;
6282
2.58k
        if (specs.precision != 0) {
6283
1.08k
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
1.07k
            const auto initial_width = specs.precision - prefix_width;
6291
1.07k
            auto max_width_view =
6292
1.07k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
1.07k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
482
            it = w_it.base();
6295
482
            value_width = initial_width - w_it.count();
6296
482
        }
6297
1.49k
        else {
6298
1.49k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
848
                                             specs, value, loc));
6300
6301
848
            if (need_skipped_width) {
6302
216
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
216
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
216
                        .view()));
6305
216
            }
6306
848
        }
6307
6308
        // Read postfix
6309
1.33k
        std::ptrdiff_t postfix_width = 0;
6310
1.33k
        if (it != rng.end()) {
6311
976
            SCN_TRY(postfix_result,
6312
976
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
976
                                 rd.skip_ws_before_read(), prefix_width,
6314
976
                                 value_width));
6315
976
            std::tie(it, postfix_width) = postfix_result;
6316
976
        }
6317
6318
1.33k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.33k
            specs, prefix_width, value_width, postfix_width));
6320
1.24k
        return it;
6321
1.33k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
2.61k
    {
6261
2.61k
        const bool need_skipped_width =
6262
2.61k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.61k
        auto it = rng.begin();
6266
2.61k
        std::ptrdiff_t prefix_width = 0;
6267
2.61k
        if (specs.precision != 0) {
6268
1.11k
            auto max_width_view = take_width(rng, specs.precision);
6269
1.11k
            SCN_TRY(prefix_result,
6270
1.08k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
1.08k
            it = prefix_result.first.base();
6272
1.08k
            prefix_width = prefix_result.second;
6273
1.08k
        }
6274
1.49k
        else {
6275
1.49k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.49k
            std::tie(it, prefix_width) = prefix_result;
6277
1.49k
        }
6278
2.58k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.58k
        std::ptrdiff_t value_width = 0;
6282
2.58k
        if (specs.precision != 0) {
6283
1.08k
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
1.07k
            const auto initial_width = specs.precision - prefix_width;
6291
1.07k
            auto max_width_view =
6292
1.07k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
1.07k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
482
            it = w_it.base();
6295
482
            value_width = initial_width - w_it.count();
6296
482
        }
6297
1.49k
        else {
6298
1.49k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
848
                                             specs, value, loc));
6300
6301
848
            if (need_skipped_width) {
6302
216
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
216
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
216
                        .view()));
6305
216
            }
6306
848
        }
6307
6308
        // Read postfix
6309
1.33k
        std::ptrdiff_t postfix_width = 0;
6310
1.33k
        if (it != rng.end()) {
6311
976
            SCN_TRY(postfix_result,
6312
976
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
976
                                 rd.skip_ws_before_read(), prefix_width,
6314
976
                                 value_width));
6315
976
            std::tie(it, postfix_width) = postfix_result;
6316
976
        }
6317
6318
1.33k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.33k
            specs, prefix_width, value_width, postfix_width));
6320
1.24k
        return it;
6321
1.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
688
    {
6261
688
        const bool need_skipped_width =
6262
688
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
688
        auto it = rng.begin();
6266
688
        std::ptrdiff_t prefix_width = 0;
6267
688
        if (specs.precision != 0) {
6268
244
            auto max_width_view = take_width(rng, specs.precision);
6269
244
            SCN_TRY(prefix_result,
6270
224
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
224
            it = prefix_result.first.base();
6272
224
            prefix_width = prefix_result.second;
6273
224
        }
6274
444
        else {
6275
444
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
444
            std::tie(it, prefix_width) = prefix_result;
6277
444
        }
6278
668
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
668
        std::ptrdiff_t value_width = 0;
6282
668
        if (specs.precision != 0) {
6283
224
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
222
            const auto initial_width = specs.precision - prefix_width;
6291
222
            auto max_width_view =
6292
222
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
222
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
22
            it = w_it.base();
6295
22
            value_width = initial_width - w_it.count();
6296
22
        }
6297
444
        else {
6298
444
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
56
                                             specs, value, loc));
6300
6301
56
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
56
        }
6307
6308
        // Read postfix
6309
78
        std::ptrdiff_t postfix_width = 0;
6310
78
        if (it != rng.end()) {
6311
78
            SCN_TRY(postfix_result,
6312
78
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
78
                                 rd.skip_ws_before_read(), prefix_width,
6314
78
                                 value_width));
6315
78
            std::tie(it, postfix_width) = postfix_result;
6316
78
        }
6317
6318
78
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
78
            specs, prefix_width, value_width, postfix_width));
6320
74
        return it;
6321
78
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
688
    {
6261
688
        const bool need_skipped_width =
6262
688
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
688
        auto it = rng.begin();
6266
688
        std::ptrdiff_t prefix_width = 0;
6267
688
        if (specs.precision != 0) {
6268
244
            auto max_width_view = take_width(rng, specs.precision);
6269
244
            SCN_TRY(prefix_result,
6270
224
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
224
            it = prefix_result.first.base();
6272
224
            prefix_width = prefix_result.second;
6273
224
        }
6274
444
        else {
6275
444
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
444
            std::tie(it, prefix_width) = prefix_result;
6277
444
        }
6278
668
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
668
        std::ptrdiff_t value_width = 0;
6282
668
        if (specs.precision != 0) {
6283
224
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
222
            const auto initial_width = specs.precision - prefix_width;
6291
222
            auto max_width_view =
6292
222
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
222
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
22
            it = w_it.base();
6295
22
            value_width = initial_width - w_it.count();
6296
22
        }
6297
444
        else {
6298
444
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
56
                                             specs, value, loc));
6300
6301
56
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
56
        }
6307
6308
        // Read postfix
6309
78
        std::ptrdiff_t postfix_width = 0;
6310
78
        if (it != rng.end()) {
6311
78
            SCN_TRY(postfix_result,
6312
78
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
78
                                 rd.skip_ws_before_read(), prefix_width,
6314
78
                                 value_width));
6315
78
            std::tie(it, postfix_width) = postfix_result;
6316
78
        }
6317
6318
78
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
78
            specs, prefix_width, value_width, postfix_width));
6320
74
        return it;
6321
78
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
552
    {
6261
552
        const bool need_skipped_width =
6262
552
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
552
        auto it = rng.begin();
6266
552
        std::ptrdiff_t prefix_width = 0;
6267
552
        if (specs.precision != 0) {
6268
178
            auto max_width_view = take_width(rng, specs.precision);
6269
178
            SCN_TRY(prefix_result,
6270
170
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
170
            it = prefix_result.first.base();
6272
170
            prefix_width = prefix_result.second;
6273
170
        }
6274
374
        else {
6275
374
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
374
            std::tie(it, prefix_width) = prefix_result;
6277
374
        }
6278
544
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
544
        std::ptrdiff_t value_width = 0;
6282
544
        if (specs.precision != 0) {
6283
170
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
168
            const auto initial_width = specs.precision - prefix_width;
6291
168
            auto max_width_view =
6292
168
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
168
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
10
            it = w_it.base();
6295
10
            value_width = initial_width - w_it.count();
6296
10
        }
6297
374
        else {
6298
374
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
44
                                             specs, value, loc));
6300
6301
44
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
44
        }
6307
6308
        // Read postfix
6309
54
        std::ptrdiff_t postfix_width = 0;
6310
54
        if (it != rng.end()) {
6311
54
            SCN_TRY(postfix_result,
6312
54
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
54
                                 rd.skip_ws_before_read(), prefix_width,
6314
54
                                 value_width));
6315
54
            std::tie(it, postfix_width) = postfix_result;
6316
54
        }
6317
6318
54
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
54
            specs, prefix_width, value_width, postfix_width));
6320
50
        return it;
6321
54
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
802
    {
6261
802
        const bool need_skipped_width =
6262
802
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
802
        auto it = rng.begin();
6266
802
        std::ptrdiff_t prefix_width = 0;
6267
802
        if (specs.precision != 0) {
6268
302
            auto max_width_view = take_width(rng, specs.precision);
6269
302
            SCN_TRY(prefix_result,
6270
280
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
280
            it = prefix_result.first.base();
6272
280
            prefix_width = prefix_result.second;
6273
280
        }
6274
500
        else {
6275
500
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
500
            std::tie(it, prefix_width) = prefix_result;
6277
500
        }
6278
780
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
780
        std::ptrdiff_t value_width = 0;
6282
780
        if (specs.precision != 0) {
6283
280
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
276
            const auto initial_width = specs.precision - prefix_width;
6291
276
            auto max_width_view =
6292
276
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
276
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
22
            it = w_it.base();
6295
22
            value_width = initial_width - w_it.count();
6296
22
        }
6297
500
        else {
6298
500
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
56
                                             specs, value, loc));
6300
6301
56
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
56
        }
6307
6308
        // Read postfix
6309
78
        std::ptrdiff_t postfix_width = 0;
6310
78
        if (it != rng.end()) {
6311
78
            SCN_TRY(postfix_result,
6312
78
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
78
                                 rd.skip_ws_before_read(), prefix_width,
6314
78
                                 value_width));
6315
78
            std::tie(it, postfix_width) = postfix_result;
6316
78
        }
6317
6318
78
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
78
            specs, prefix_width, value_width, postfix_width));
6320
74
        return it;
6321
78
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
634
    {
6261
634
        const bool need_skipped_width =
6262
634
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
634
        auto it = rng.begin();
6266
634
        std::ptrdiff_t prefix_width = 0;
6267
634
        if (specs.precision != 0) {
6268
216
            auto max_width_view = take_width(rng, specs.precision);
6269
216
            SCN_TRY(prefix_result,
6270
216
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
216
            it = prefix_result.first.base();
6272
216
            prefix_width = prefix_result.second;
6273
216
        }
6274
418
        else {
6275
418
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
418
            std::tie(it, prefix_width) = prefix_result;
6277
418
        }
6278
634
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
634
        std::ptrdiff_t value_width = 0;
6282
634
        if (specs.precision != 0) {
6283
216
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
214
            const auto initial_width = specs.precision - prefix_width;
6291
214
            auto max_width_view =
6292
214
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
214
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
180
            it = w_it.base();
6295
180
            value_width = initial_width - w_it.count();
6296
180
        }
6297
418
        else {
6298
418
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
378
                                             specs, value, loc));
6300
6301
378
            if (need_skipped_width) {
6302
236
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
236
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
236
                        .view()));
6305
236
            }
6306
378
        }
6307
6308
        // Read postfix
6309
558
        std::ptrdiff_t postfix_width = 0;
6310
558
        if (it != rng.end()) {
6311
558
            SCN_TRY(postfix_result,
6312
558
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
558
                                 rd.skip_ws_before_read(), prefix_width,
6314
558
                                 value_width));
6315
558
            std::tie(it, postfix_width) = postfix_result;
6316
558
        }
6317
6318
558
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
558
            specs, prefix_width, value_width, postfix_width));
6320
330
        return it;
6321
558
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
682
    {
6261
682
        const bool need_skipped_width =
6262
682
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
682
        auto it = rng.begin();
6266
682
        std::ptrdiff_t prefix_width = 0;
6267
682
        if (specs.precision != 0) {
6268
230
            auto max_width_view = take_width(rng, specs.precision);
6269
230
            SCN_TRY(prefix_result,
6270
214
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
214
            it = prefix_result.first.base();
6272
214
            prefix_width = prefix_result.second;
6273
214
        }
6274
452
        else {
6275
452
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
452
            std::tie(it, prefix_width) = prefix_result;
6277
452
        }
6278
666
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
666
        std::ptrdiff_t value_width = 0;
6282
666
        if (specs.precision != 0) {
6283
214
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
210
            const auto initial_width = specs.precision - prefix_width;
6291
210
            auto max_width_view =
6292
210
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
210
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
20
            it = w_it.base();
6295
20
            value_width = initial_width - w_it.count();
6296
20
        }
6297
452
        else {
6298
452
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
74
                                             specs, value, loc));
6300
6301
74
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
74
        }
6307
6308
        // Read postfix
6309
94
        std::ptrdiff_t postfix_width = 0;
6310
94
        if (it != rng.end()) {
6311
94
            SCN_TRY(postfix_result,
6312
94
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
94
                                 rd.skip_ws_before_read(), prefix_width,
6314
94
                                 value_width));
6315
94
            std::tie(it, postfix_width) = postfix_result;
6316
94
        }
6317
6318
94
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
94
            specs, prefix_width, value_width, postfix_width));
6320
90
        return it;
6321
94
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
1.06k
    {
6261
1.06k
        const bool need_skipped_width =
6262
1.06k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.06k
        auto it = rng.begin();
6266
1.06k
        std::ptrdiff_t prefix_width = 0;
6267
1.06k
        if (specs.precision != 0) {
6268
440
            auto max_width_view = take_width(rng, specs.precision);
6269
440
            SCN_TRY(prefix_result,
6270
430
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
430
            it = prefix_result.first.base();
6272
430
            prefix_width = prefix_result.second;
6273
430
        }
6274
620
        else {
6275
620
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
620
            std::tie(it, prefix_width) = prefix_result;
6277
620
        }
6278
1.05k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.05k
        std::ptrdiff_t value_width = 0;
6282
1.05k
        if (specs.precision != 0) {
6283
430
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
424
            const auto initial_width = specs.precision - prefix_width;
6291
424
            auto max_width_view =
6292
424
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
424
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
310
            it = w_it.base();
6295
310
            value_width = initial_width - w_it.count();
6296
310
        }
6297
620
        else {
6298
620
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
546
                                             specs, value, loc));
6300
6301
546
            if (need_skipped_width) {
6302
304
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
304
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
304
                        .view()));
6305
304
            }
6306
546
        }
6307
6308
        // Read postfix
6309
856
        std::ptrdiff_t postfix_width = 0;
6310
856
        if (it != rng.end()) {
6311
516
            SCN_TRY(postfix_result,
6312
516
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
516
                                 rd.skip_ws_before_read(), prefix_width,
6314
516
                                 value_width));
6315
516
            std::tie(it, postfix_width) = postfix_result;
6316
516
        }
6317
6318
856
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
856
            specs, prefix_width, value_width, postfix_width));
6320
776
        return it;
6321
856
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
1.06k
    {
6261
1.06k
        const bool need_skipped_width =
6262
1.06k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.06k
        auto it = rng.begin();
6266
1.06k
        std::ptrdiff_t prefix_width = 0;
6267
1.06k
        if (specs.precision != 0) {
6268
440
            auto max_width_view = take_width(rng, specs.precision);
6269
440
            SCN_TRY(prefix_result,
6270
430
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
430
            it = prefix_result.first.base();
6272
430
            prefix_width = prefix_result.second;
6273
430
        }
6274
620
        else {
6275
620
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
620
            std::tie(it, prefix_width) = prefix_result;
6277
620
        }
6278
1.05k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.05k
        std::ptrdiff_t value_width = 0;
6282
1.05k
        if (specs.precision != 0) {
6283
430
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
424
            const auto initial_width = specs.precision - prefix_width;
6291
424
            auto max_width_view =
6292
424
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
424
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
310
            it = w_it.base();
6295
310
            value_width = initial_width - w_it.count();
6296
310
        }
6297
620
        else {
6298
620
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
546
                                             specs, value, loc));
6300
6301
546
            if (need_skipped_width) {
6302
304
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
304
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
304
                        .view()));
6305
304
            }
6306
546
        }
6307
6308
        // Read postfix
6309
856
        std::ptrdiff_t postfix_width = 0;
6310
856
        if (it != rng.end()) {
6311
516
            SCN_TRY(postfix_result,
6312
516
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
516
                                 rd.skip_ws_before_read(), prefix_width,
6314
516
                                 value_width));
6315
516
            std::tie(it, postfix_width) = postfix_result;
6316
516
        }
6317
6318
856
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
856
            specs, prefix_width, value_width, postfix_width));
6320
776
        return it;
6321
856
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
1.06k
    {
6261
1.06k
        const bool need_skipped_width =
6262
1.06k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.06k
        auto it = rng.begin();
6266
1.06k
        std::ptrdiff_t prefix_width = 0;
6267
1.06k
        if (specs.precision != 0) {
6268
440
            auto max_width_view = take_width(rng, specs.precision);
6269
440
            SCN_TRY(prefix_result,
6270
430
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
430
            it = prefix_result.first.base();
6272
430
            prefix_width = prefix_result.second;
6273
430
        }
6274
620
        else {
6275
620
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
620
            std::tie(it, prefix_width) = prefix_result;
6277
620
        }
6278
1.05k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.05k
        std::ptrdiff_t value_width = 0;
6282
1.05k
        if (specs.precision != 0) {
6283
430
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
424
            const auto initial_width = specs.precision - prefix_width;
6291
424
            auto max_width_view =
6292
424
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
424
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
310
            it = w_it.base();
6295
310
            value_width = initial_width - w_it.count();
6296
310
        }
6297
620
        else {
6298
620
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
546
                                             specs, value, loc));
6300
6301
546
            if (need_skipped_width) {
6302
304
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
304
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
304
                        .view()));
6305
304
            }
6306
546
        }
6307
6308
        // Read postfix
6309
856
        std::ptrdiff_t postfix_width = 0;
6310
856
        if (it != rng.end()) {
6311
516
            SCN_TRY(postfix_result,
6312
516
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
516
                                 rd.skip_ws_before_read(), prefix_width,
6314
516
                                 value_width));
6315
516
            std::tie(it, postfix_width) = postfix_result;
6316
516
        }
6317
6318
856
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
856
            specs, prefix_width, value_width, postfix_width));
6320
776
        return it;
6321
856
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
6322
6323
    template <typename T>
6324
    scan_expected<iterator> operator()(T& value)
6325
36.6k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
36.6k
                          basic_contiguous_scan_context<char_type>>) {
6330
36.6k
            auto rd = make_reader<T, char_type>();
6331
36.6k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
19.5k
            return impl(rd, range, value);
6333
        }
6334
0
        else if constexpr (!detail::is_type_disabled<T>) {
6335
0
            auto rd = make_reader<T, char_type>();
6336
0
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
0
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
0
                specs.width != 0) {
6340
0
                return impl(rd, range, value);
6341
0
            }
6342
6343
0
            auto crange = get_as_contiguous(range);
6344
0
            SCN_TRY(it, impl(rd, crange, value));
6345
0
            return ranges::next(range.begin(),
6346
0
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
36.6k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6325
2.79k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.79k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.79k
            auto rd = make_reader<T, char_type>();
6331
2.79k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
726
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.79k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
2.79k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.79k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.79k
            auto rd = make_reader<T, char_type>();
6331
2.79k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
726
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.79k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6325
2.75k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.75k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.75k
            auto rd = make_reader<T, char_type>();
6331
2.75k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
650
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.75k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6325
2.79k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.79k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.79k
            auto rd = make_reader<T, char_type>();
6331
2.79k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
986
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.79k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6325
2.75k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.75k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.75k
            auto rd = make_reader<T, char_type>();
6331
2.75k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
704
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.75k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6325
2.79k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.79k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.79k
            auto rd = make_reader<T, char_type>();
6331
2.79k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
738
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.79k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
2.75k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.75k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.75k
            auto rd = make_reader<T, char_type>();
6331
2.75k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.61k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.75k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
2.75k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.75k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.75k
            auto rd = make_reader<T, char_type>();
6331
2.75k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.61k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.75k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6325
2.75k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.75k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.75k
            auto rd = make_reader<T, char_type>();
6331
2.75k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.61k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.75k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6325
1.33k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.33k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.33k
            auto rd = make_reader<T, char_type>();
6331
1.33k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
688
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.33k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
1.33k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.33k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.33k
            auto rd = make_reader<T, char_type>();
6331
1.33k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
688
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.33k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6325
1.27k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.27k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.27k
            auto rd = make_reader<T, char_type>();
6331
1.27k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
552
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.27k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6325
1.33k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.33k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.33k
            auto rd = make_reader<T, char_type>();
6331
1.33k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
802
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.33k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6325
1.27k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.27k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.27k
            auto rd = make_reader<T, char_type>();
6331
1.27k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
634
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.27k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6325
1.33k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.33k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.33k
            auto rd = make_reader<T, char_type>();
6331
1.33k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
682
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.33k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
1.27k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.27k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.27k
            auto rd = make_reader<T, char_type>();
6331
1.27k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.06k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.27k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
1.27k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.27k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.27k
            auto rd = make_reader<T, char_type>();
6331
1.27k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.06k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.27k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6325
1.27k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.27k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.27k
            auto rd = make_reader<T, char_type>();
6331
1.27k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.06k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.27k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
6353
6354
    scan_expected<iterator> operator()(
6355
        typename basic_scan_arg<detail::default_context<char_type>>::handle)
6356
        const
6357
0
    {
6358
0
        SCN_EXPECT(false);
6359
0
        SCN_UNREACHABLE;
6360
0
    }
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6361
6362
    range_type range;
6363
    const detail::format_specs& specs;
6364
    detail::locale_ref loc;
6365
};
6366
6367
template <typename Context>
6368
struct custom_reader {
6369
    using context_type = Context;
6370
    using char_type = typename context_type::char_type;
6371
    using parse_context_type = typename context_type::parse_context_type;
6372
    using iterator = typename context_type::iterator;
6373
6374
    template <typename T>
6375
    scan_expected<iterator> operator()(T&) const
6376
0
    {
6377
0
        SCN_EXPECT(false);
6378
0
        SCN_UNREACHABLE;
6379
0
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
6380
6381
    scan_expected<iterator> operator()(
6382
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6383
        const
6384
0
    {
6385
0
        SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6386
0
        return {ctx.begin()};
6387
0
    }
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6388
6389
    parse_context_type& parse_ctx;
6390
    context_type& ctx;
6391
};
6392
}  // namespace impl
6393
6394
SCN_END_NAMESPACE
6395
}  // namespace scn